前一段时间发过一篇小文“心中有剑,落叶飞花,皆是兵器”-Python动画原理揭示及案例,在文末提出了一个疑问:画图的速度比较慢。即使speed()调到最大(speed=0),也难以保证图像一下出现。这极大影响了动画效果。
经过研究IDLE的自带demo,发现了一种简单解决上述问题的方法:那就是将动画图形设置成鼠标形状(即命令中的shape)。
具体步骤
简单说就是先获取画图的坐标;
然后将获得坐标形成的形状添加到shape库;
最后将画笔形状设置成自定义的图形就可以了。
涉及的命令
begin_poly()
end_poly()
get_poly()
register_shape(name,myshape)
shape()
前后对比效果图
跟之前的效果图对比,动画流畅了很多。
代码部分
修改的部分已经做了标注说明
提示
重新定义的鼠标形状也可以定义线条及颜色,本例中用到的命令是 pencolor('red')、 fillcolor('white')、 turtlesize(1,1,5)。
又解决了一个小问题,心情美丽,与大家共享。