海龟吃绿豆动画_find_overlapping与绑定盒碰撞检测示例

如本文章标有价格,需议价或其它事情商议请加微信scratch8

李兴球Python海龟吃绿豆动画
李兴球Python海龟吃绿豆动画
"""
   海龟吃绿豆动画.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()                   # 隐藏每个碰撞到的海龟

需要完整源代码,请扫码下载:

VIP免费查看

已有1人支付

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 海龟吃绿豆动画_find_overlapping与绑定盒碰撞检测示例
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页