python的海龟作图模块新建一个海龟相当于新建一个角色,我们可以给它换其它图形,以改变它的样子。
getshapes()命令能获取当前所有的图形,用一个列表显示出每个名字。要改变角色的图形用shape命令即可。
如果用上ontimer命令,就能不断地给角色更换图形,从而实现动画效果。
#下面是python自定义海龟图形源代码示例:
""" 068_自定义海龟图形.py python的海龟画图能加载外部的图片做为海龟本身的图形,也能自己画一个图做为海龟对象的形状。 海龟的图形存放在一个列表里,我们能用getshapes()命令查看这个列表里有些什么图形。 本节课让海龟首先画一个正方形,然后把这个正方形做为海龟本身的图形。 """ from turtle import * print("海龟本来的图形:",getshapes()) #以下是画一个图形,用来注册做海龟的图形的。 形状=Turtle() #新建‘形状’海龟,它的使命就是画一个正方形,然后被注册到海龟的图形列表。 形状.begin_poly() #开始记录多边形的顶点,当前的海龟位置是第一个顶点,做为图形旋转中心。 形状.begin_fill() #开始填充图形,不填充也是可以的。 for i in range(4): #让i依次的值为0,1,2,3,让for语句组重复4次 形状.fd(100) 形状.right(90) 形状.end_fill() #结束填充 形状.end_poly() #结束记录多边形的顶点。 p = 形状.get_poly() #得到刚才所画的图形的每个顶点,形成元组,放到变量p这里。 print("p是:",p) print() print("p是一个元组,它记录了多边形的每个顶点的坐标值。") register_shape("正方形", p) #注册p为正方形的名称,以后就能用它做海龟本身的图形了。 #input("输入任意键继续...") 形状.clear() 形状.hideturtle() #名字叫‘形状’的海龟完成了任务,把它隐藏起来。 del 形状 #名字叫'形状‘的海龟完成了任务,我们不仅仅把它隐藏,而且把它给删除。 #下面是建立一个叫正方形1的海龟对象,让它的形状为刚才定义的 正方形。 正方形1=Turtle(shape='正方形') 正方形1.pencolor("cyan") 正方形1.fillcolor("green") def 旋转正方形(): 正方形1.right(10) ontimer(旋转正方形,10) 旋转正方形() #input("输入任意键继续...") #问题: #即然p是一个元组,里面存储的是每个坐标点,那么我们能不能自己直接定义一个有各个顶点的元组呢? #所以,我们不必要新建所谓的‘形状’海龟了 #我们直接定义一个元组即可,下面是一个例子 #这里定义一个元组也叫p,它的第一个项目是(0,0),第二个项目是(0,100) #当用register_shape注册时它的第一个项目就是旋转中心。 p=((0,0),(0,100)) addshape("线条", p) #用addshape也可以 print("\n所有的形状为:",getshapes()) 条子=Turtle(shape='线条') 条子.pensize(5) 条子.pencolor("red") 条子.penup() 条子.goto(0,200) def 旋转条子(): 条子.right(10) ontimer(旋转条子,10) 旋转条子()
少儿python编程培训预订开始,单击链接享受优惠:https://item.taobao.com/item.htm?id=544061935133
运行后是这样的,单击才能看到动画效果,因为这是缩略图: