赞
踩
1.让海龟呈现同时在画布盖章。
- # 让海龟呈现同时在画布盖章
- import random
- import turtle
-
- # turtle模块内shape('turtle')方法可以让海龟呈现,stamp()方法可以使用海龟在画布盖章。
- t = turtle.Pen()
- t.shape('turtle')
- colorlist = ['yellow', 'black', 'gold', 'pink', 'gray', 'red', 'orange', 'aqua', 'green']
- for angle in range(0, 361, 15):
- i = random.randint(0, 8)
- cr = colorlist[i]
- t.color(cr)
- t.forward(100)
- t.stamp()
- t.home() # 此函数用于将海龟移动到原点,即坐标(0,0)。无论如何, turtle 的位置都是默认方向(朝东),设置为(0,0)。
- t.seth(angle) # 调整海龟方向
-
绘制效果:
2.clearstamps(n)如果n=None可以清除画布上所有的海龟,如果n是正值,可以清除前n个海龟,如果n是负值,可以清除后n个海龟。如果海龟在画布盖章时有设定返回值,如stampID=t.stamp(),未来也可以使用clearstamp(stampID)将这个特定的海龟盖章删除。
首先绘制3个海龟,然后将自己隐藏起来,过5秒后先删除第2只海龟,再过5秒删除其他2只海龟。
- import turtle
- import time
-
- t = turtle.Pen()
- t.color('blue')
- t.shape('turtle')
- firstStamp = t.stamp() # 盖章第一只海龟
- t.forward(100)
- secondStamp = t.stamp() # 盖章第二只海龟
- t.forward(100)
- thirdStamp = t.stamp() # 盖章第三只海龟
- t.hideturtle() # 隐藏目前海龟
- time.sleep(5)
- t.clearstamp(secondStamp) # 删除第二只海龟
- time.sleep(5)
- t.clearstamps(None)
- time.sleep(3) # 观察最后画布情况
绘制效果:
3.隐藏与显示海龟:上述代码中hideturtle()是隐藏海龟的方法,未来若是想显示海龟可以使用showturtle()方法。isvisible()可以检查目前程序是否显示海龟,如果显示可以返回True,如果没有显示则返回False。
先盖章第一只海龟并打印是否显示海龟光标,结果会是True。然后盖章第2只海龟并隐藏海龟光标,这时打印是否显示海龟光标,结果是False。然后删除最后一只海龟即第二只海龟。最后显示海龟光标,这时打印是否显示海龟光标结果便是True。
- import turtle
- import time
-
- t = turtle.Pen()
- t.color('red')
- t.shape('turtle')
- t.stamp() # 盖章第一只海龟
- print("目前是否有显示海龟:", t.isvisible())
- t.forward(100)
- second = t.stamp() # 盖章第二只海龟
- time.sleep(3)
- t.hideturtle() # 隐藏目前海龟
- print("目前是否有显示海龟:", t.isvisible())
- t.clearstamps(-1) # 删除后面一个海龟
- time.sleep(3)
- t.showturtle() # 显示海龟
- print("目前是否有显示海龟:", t.isvisible())
- time.sleep(3) # 观察最后画布情况
绘制效果:
4.认识所有的海龟光标:screen.getshapes()方法可以列出所有的海龟光标。
列出所以海龟光标字符串与相对应的光标外型。
- # 列出所有的海龟光标字符串,与相对应的光标外型。
- import turtle, time
-
- t = turtle.Pen()
- t.color('blue')
- print(t.screen.getshapes())
- for cursor in t.screen.getshapes():
- t.shape(cursor) # 更改海龟光标
- t.stamp() # 海龟光标盖章
- t.forward(30)
-
- time.sleep(3) # 观察最后画布情况
绘制效果:
光标外型:
我们也可以使用下列方式将任意图片当作海龟光标,不过图片不会在我们转动海龟时随着转动。
screen.register_shape("图片名称")
或者我们也可以使用下列方式自建一个图形当海龟光标。
screen.('myshape', ((3, -3), (0, 3), (-3, -3)))
用上面第一个例子来试一下吧:
图片格式一定要是.gif格式的!!!
- # 让海龟呈现同时在画布盖章
- import random
- import time
- import turtle
-
- # turtle模块内shape('turtle')方法可以让海龟呈现,stamp()方法可以使用海龟在画布盖章。
- t = turtle.Pen()
- screen = turtle.Screen()
- screen.register_shape("dog.gif")
- t.shape('dog.gif')
- colorlist = ['yellow', 'black', 'gold', 'pink', 'gray', 'red', 'orange', 'aqua', 'green']
- for angle in range(0, 361, 30):
- i = random.randint(0, 8)
- cr = colorlist[i]
- t.color(cr)
- t.forward(200)
- t.stamp()
- t.home() # 此函数用于将海龟移动到原点,即坐标(0,0)。无论如何, turtle 的位置都是默认方向(朝东),设置为(0,0)。
- t.seth(angle) # 调整海龟方向
- time.sleep(5)
绘制效果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。