汇智学堂-python小游戏(弹球游戏之四-认识动画)
3.4认识动画
在我们PYTHON中tkinter模块,做动画不是它的特长,但基本的处理还是可以做的。例如,我们可以创建一个填了色的圆,用下面的代码让它在屏幕上横向移动。
下面是我们要做的事情。
1、在指定位置,画一绿色的圆。
2、认识圆的id。
3、使圆沿着屏幕左侧每间隔0.07秒,移动一下圆形。
实现代码如下:
4000 #练习基础动画
import time
from tkinter import*
tk=Tk()
canvas=Canvas(tk,width=900,height=900)
canvas.pack()
canvas.create_oval(100, 100, 200, 200, fill = “green” )
for x in range(0,500):
canvas.move(1,0,5)
tk.update()
time.sleep(0.07)
当你运行这段代码,圆形会从屏幕上侧纵向移动到屏幕下侧。如图3-12
图3-12
它是如何工作的呢?我们着重看一下下面这段代码
id=canvas.create_oval(100, 100, 200, 200, fill = “green” )
print(id)
当你输入这一行时,屏幕上会打印出一个数字,它是这个圆形的id。canvas.move(1,0,5)
中的1,就是指向这个id。
Canvas.move函数会把任意画好的对象移动到把x及y坐标增加给定值的位置。例如canvas.move(1,0,5)会把id为1的对象横向移动0个像素,纵向5个像素。要想把它再移回来,我们可以用函数canvas.move(1,0,-5)。
我们来修改代码,体会一下不同方向的动画。
向上运动。见图3-13
import time
from tkinter import*
tk=Tk()
canvas=Canvas(tk,width=900,height=900)
canvas.pack()
canvas.create_oval(400, 400, 500, 500, fill = “green” )
for x in range(0,500):
canvas.move(1,0,-5)
tk.update()
time.sleep(0.07)
图3-13
向左上方运动。见图3-14
import time
from tkinter import*
tk=Tk()
canvas=Canvas(tk,width=900,height=900)
canvas.pack()
canvas.create_oval(600, 600, 700, 700, fill = “green” )
for x in range(0,500):
canvas.move(1,-5,-5)
tk.update()
time.sleep(0.07)
图3-14
- 汇智学堂-python小游戏(弹球游戏之八-完成持续反弹)
- 汇智学堂-python小游戏(弹球游戏之九-不同角度的反弹及游戏结束的判断)
- 汇智学堂-python小游戏(弹球游戏之六-类的使用中体会坐标位置)
- 汇智学堂-python小游戏(弹球游戏之七-场景中理解反弹)
- 汇智学堂-python小游戏(贪吃蛇游戏之一-游戏场景)
- 汇智学堂-phthon小游戏(贪吃蛇游戏之五-创建蛇身及动画)
- 汇智学堂-phthon小游戏(贪吃蛇游戏之七-控制蛇的头部方向)
- 【python游戏编程之旅】第五篇---嗷大喵爱吃鱼小游戏开发实例
- cocos2d-x ios游戏开发初认识(七) 简单的动画
- python:pygame小游戏(一)——myBall 小弹球
- 趣学Python之弹球游戏第一阶段--画个红球
- 趣学Python之弹球游戏第二阶段--向上运动
- 趣学Python之弹球游戏最后阶段--击球结束
- Pygame:编写一个小游戏 标签: pythonpygame游戏 2017-06-20 15:06 103人阅读 评论(0)
- 汇智学堂-phthon小游戏(贪吃蛇游戏之八-吃食物)
- 用python3写一个弹弹球的小游戏(图形用户界面:tkinter)
- 汇智学堂-phthon小游戏(贪吃蛇游戏之三-创建蛇并向右运动)
- 汇智学堂-phthon小游戏(贪吃蛇游戏之十一-游戏结束的判断)
- python小游戏--猜拳游戏
- 汇智学堂-phthon小游戏(贪吃蛇游戏之十-完成上下左吃到食物后蛇身变长)