今天我们学习用turtle制做一个简单的动画。
turtle工具箱有很多功能,用来制作简易动画的程序也有很多,今天我来学介绍如何用turtle工具箱画一个向上升的圆。
为了让圆动起来,我们在每一个循环里画圆,实现动画效果。每一次循环中,在一个新的位置中画一个新的圆,同时擦掉上一次画圆,循环中使用一个条件语句来判断是否擦除上一个圆。
下面就是这个程序,其中有几点要注意:turtle.tracer(False) 是让画笔直接画出最终结果,不画绘画的过程。turtle.clear()是清除整个画布。我们可以在之前画的圆的位置上画一个白色的圆来清除红圆,然后在新的位置上画一个新的圆。我们用time.sleep来控制绘画循环速度,括号里的数字代表秒,代表循环暂停的时间,数值越小,动画更新速度越快。
import time
import turtle
y = 0
s = 1
d=0.01
for i in range(100):
turtle.tracer(False)
turtle.clear()
x = 0
y = y + s
wy = y - s
if wy >= 0:
turtle.penup()
turtle.goto(x,y-s)
turtle.pendown()
turtle.pencolor("white")
turtle.fillcolor("white")
turtle.begin_fill()
turtle.circle(40)
turtle.end_fill()
turtle.penup()
turtle.goto(x,y)
turtle.pendown()
turtle.pencolor("red")
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(40)
turtle.end_fill()
turtle.speed(0)
time.sleep(d)
turtle.hideturtle()
turtle.tracer(True)
turtle.done()