使用turtle实现动画效果
众所周知,turtle能够像画笔一样来作图。一个绘图程序运行后,我们能够像看动画一样观看整个绘图过程。但是今天说的动画可和它不太一样。
我们可以用下面的函数调整画笔的速度。
1 | turtle.speed(1) |
在官方文档中,turtle.speed()的参数是0-10的整数,从1到10速度递增。0比较特殊,速度最快,几乎是瞬间完成。
1 | import turtle, time |
效果比较明显:
可以说,这是一种动画的效果,毕竟能够看到绘画的全过程嘛。但是这个不是今天的重点,今天要讲的是真正的动画。
赶紧进入正题,要想使画面动起来,肯定是先画出主体,再将它移动。这里我们先看一个奇葩转圈图。
“很快啊!” ——马老师
下面看一下代码,为什么画完之后会转起来?
1 | import turtle |
这里两个自定义函数都很好理解,主要看一下 turtle.tracer(),它的意思大概是将之前画过的作品重复一次,n的大小就是重复的速度,也就是说n如果很大,就可以瞬间完成刚才的画作。所以循环中的过程可以理解为(图有些丑):
graph TD
B((开始)) -->C{while True}
C --> D[clear清屏]
D[clear清屏] --> E[seth改变角度]
E[seth改变角度] --> F[tracer再画一次]
F[tracer再画一次] --> G[角度增加15]
G[角度增加15] --> C
所以,图中的6个arm就转起来了,修改每次循环的角度可以调整旋转速度和方向哦。(负数为反方向)
- 标题: 使用turtle实现动画效果
- 作者: Ward
- 创建于 : 2020-12-02 23:26:50
- 更新于 : 2020-12-04 10:07:28
- 链接: https://wangjiaxi.github.io/2020/12/02/使用turtle实现动画效果/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论