当前位置:   article > 正文

Python初探:turtle(海龟)实现动画_python turtle 动画

python turtle 动画

利用Python的turtle库实现一个动画
Turtle库是Python内置的图形化模块,是绘制图像的函数库。海龟即屏幕上绘图的光标(小三角形),编写Python指令可以让海龟在屏幕上移动绘制线条,可将海龟看做是坐标系里移动,位置可用坐标表示(x,y)。
在这里插入图片描述
移动函数
在这里插入图片描述基于turtle的动画,动画可以理解为由一张张快速切换而成:
1、准备工作:
设置speed为0(最快,不显示海龟动态);
隐藏海龟——hideturtle();
关闭tracer;
2、利用clear()函数清除当前屏幕显示或reset清除显示复位海龟,即清除上次的图形;
3、绘制新的图形;
4、利用update(进行更新);
5、等待一段时间sleep(time),根据实际动画效果设置延时time秒;
6、完成后循环绘制;
实例:实现动画笑脸
import turtle
from time import sleep
#定义画布的大小和背景
turtle.screensize(300,200,“yellow”)

#定义画笔的速度
turtle.speed(0)

#定义一个在不同位置画不同弧度
def hudu(x,r,y,t,f):
turtle.penup()
turtle.goto(x,r)
turtle.pendown()
turtle.left(y)
turtle.circle(t,f)

#定义一个画全脸的函数
def lian():
#左眼睛
hudu(-240,0,90,-90,180)

#右眼睛
hudu(50,0,180,-90,180)

#鼻子
hudu(-15,-40,0,0,0)
turtle.fillcolor(“black”)
turtle.begin_fill()
turtle.left(90)
turtle.forward(30)
turtle.right(150)
turtle.forward(20)
turtle.right(60)
turtle.forward(20)
turtle.end_fill()

#嘴巴-下嘴唇
hudu(120,-105,120,0,0)
turtle.fillcolor(“red”)
turtle.begin_fill()
turtle.circle(-120,177)
turtle.end_fill()

#嘴巴-上嘴唇
hudu(0,-100,160,0,0)
turtle.fillcolor(“yellow”)
turtle.begin_fill()
turtle.circle(-70,150)
hudu(0,-100,190,70,140)
turtle.end_fill()

#动画:让脸笑起来的动画——眨眼
turtle.tracer(False)
turtle.hideturtle()

#设置一个循环不停地眨眼
for i in range(30000):
turtle.reset()
turtle.pensize(6)
lian()
#闭眼
if i%2==0:
hudu(-240,0,-10,-100,127)
hudu(50,0,125,-100,127)
turtle.update()
sleep(0.5)

#睁眼    
else :            
    hudu(-240,0,-125,110,110)   
    hudu(50,0,-110,110,110)
    turtle.fillcolor("black")
    turtle.begin_fill()
    hudu(-120,0,0,40,360)
    turtle.end_fill()
    turtle.fillcolor("black")
    turtle.begin_fill()
    hudu(175,0,0,40,360)
    turtle.end_fill()
    turtle.update()
    sleep(0.5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

turtle.exitonclick()

运行结果:
由于无法上传动图,用两张不同状态的图代替,两张图来回切换即可实现动画
睁眼状态闭眼状态

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/874153
推荐阅读
相关标签
  

闽ICP备14008679号