"""
海龟吃绿豆动画.py,来自李兴球撰写的《Python海龟宝典》的一个示例程序。
这是应用find_overlapping查找重叠,结合标签制作的一个碰撞检测的示例程序。
"""
from turtle import Screen,Turtle
def find_overlapping(self,other):
"""查找重叠,用于和其它海龟对象的碰撞检测。
other是整数,那么代表一只海龟的item号
other是海龟,那么取海龟的item号
other是字符串,则认为它是某类海龟的标签
标签是用来进行分组的一个字符串。
返回所碰撞到的海龟列表。
"""
pass
Turtle.find_overlapping = find_overlapping # 新增查找重叠命令
screen = Screen() # 新建屏幕
canvas = screen.getcanvas() # 得到画布
yixiu = Turtle('turtle') # 新建海龟
yixiu.penup() # 海龟抬笔
yixiu.color('red') # 设定画笔
yixiu.bk(250) # 倒退250
for i in range(10):
b = Turtle('circle')
b.penup()
b.color('#33f900')
canvas.itemconfig(b.turtle._item, tags='bean') # 配置统一的标签
b.fd(-200 + 50 * i) # 设定好位置
for i in range(500):
yixiu.fd(1)
ts = yixiu.find_overlapping('bean') # 查找有没有bean标签的海龟
if ts : print(ts)
for t in ts:t.ht() # 隐藏每个碰撞到的海龟
需要完整源代码,请
需要浏览更多吗?
成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

