欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

tkinter实现动画效果

程序员文章站 2024-01-29 22:01:52
...

一 代码

  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. import time
  4. from tkinter import*
  5. # 配置
  6. # 要打开的图像
  7. image1 ="open.png"
  8. # 初始坐标
  9. x0 =50.0
  10. y0 =50.0
  11. # 列表将包含所有的x和y坐标.到目前为止,他们只包含初始坐标
  12. x =[x0]
  13. y =[y0]
  14. # 每次移动的速度或距离
  15. vx =1.0# x 速度
  16. vy =0.5# y 速度
  17. # 边界,这里要考虑到图片的大小,要预留一半的长和宽
  18. x_min =46.0
  19. y_min =46.0
  20. x_max =754.0
  21. y_max =554.0
  22. # 图片间隔时间,要动画效果,此处设为每秒40帧
  23. sleep_time =0.025
  24. # 运行步数
  25. range_min =1
  26. range_max =2000
  27. # 创建500次的x和y坐标
  28. for t in range(range_min,range_max):
  29. # 新坐标等于旧坐标加每次移动的距离
  30. new_x = x[t-1]+ vx
  31. new_y = y[t-1]+ vy
  32. # 如果已经越过边界,反转方向
  33. if new_x >= x_max or new_x <= x_min:
  34. vx = vx*-1.0
  35. if new_y >= y_max or new_y <= y_min:
  36. vy = vy*-1.0
  37. # 添加新的值到列表
  38. x.append(new_x)
  39. y.append(new_y)
  40. # 开始使用tk绘图
  41. root =Tk()
  42. canvas =Canvas(width=800, height=600, bg='white')
  43. canvas.pack()
  44. photo1 =PhotoImage(file = image1)
  45. width1 = photo1.width()
  46. height1 = photo1.height()
  47. image_x =(width1)/2.0
  48. image_y =(height1)/2.0
  49. # 每次的移动
  50. for t in range(range_min,range_max):
  51. canvas.create_image(x[t], y[t], image = photo1,tag ="pic")
  52. canvas.update()
  53. # 暂停0.05妙,然后删除图像
  54. time.sleep(sleep_time)
  55. canvas.delete("pic")
  56. root.mainloop()
二 运行结果

tkinter实现动画效果
            
    
    博客分类: python tkinter动画 
 
  • tkinter实现动画效果
            
    
    博客分类: python tkinter动画 
  • 大小: 5.7 KB
相关标签: tkinter 动画