【发布时间】:2013-04-04 13:01:52
【问题描述】:
如何告诉 python 检测两个对象/图像是否相互接触?例如,当吃豆人的图像碰到幽灵的图像时?
【问题讨论】:
-
您可能想提供一个示例代码 sn-p 以便更容易回答您的问题
标签: python python-2.7 pygame
如何告诉 python 检测两个对象/图像是否相互接触?例如,当吃豆人的图像碰到幽灵的图像时?
【问题讨论】:
标签: python python-2.7 pygame
http://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect
colliderect()
测试两个矩形是否重叠
colliderect(Rect) -> bool
如果任一矩形的任何部分重叠(除了 上+下或左+右边缘)。
如果精灵之间唯一的碰撞检测是在 pac-man 和其他对象之间,那么只需在 pacman 的碰撞矩形和每个其他碰撞矩形的每个组合上调用 colliderect。
如果每个碰撞的组合都有意义,则生成一个包含所有碰撞的大列表和colliderect 每个矩形,每个矩形在列表中更靠前。
每次发生碰撞,您都可以选择做某事 - 您甚至可以调用两个对象,传递发生碰撞的另一个对象,从而允许逻辑包含在一个或两个对象中。
【讨论】:
我假设您正在使用Sprites 作为您的 pacman 和 ghost?如果是这样,您需要精灵碰撞功能之一:http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide
否则,请使用 Rect 碰撞 Patashu 链接。
【讨论】: