""" 海龟吃绿豆动画.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资源。)
发表评论