How do I tell python to detect whether two objects/ images touch each other? For example when an image of pacman touches an image of a ghost?
问问题
12535 次
2 回答
2
http://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect
碰撞()
测试两个矩形是否重叠
碰撞(矩形)-> 布尔
如果任一矩形的任何部分重叠(顶部+底部或左+右边缘除外),则返回 true。
如果精灵之间唯一的碰撞检测是在 pac-man 和其他对象之间,那么只需调用colliderect
pacman 的碰撞矩形和每个其他碰撞矩形的每个组合。
如果碰撞的每一个组合都有意义,则生成一个包含所有碰撞的大列表以及colliderect
每个矩形,每个矩形在列表中更靠前。
每次发生碰撞,您都可以选择做某事——您甚至可以调用两个对象,传递发生碰撞的另一个对象,从而允许逻辑包含在一个或两个对象中。
于 2013-04-12T05:55:14.577 回答
0
我假设您正在使用Sprite
s 作为您的 pacman 和 ghost?如果是这样,您想要精灵碰撞功能之一:http: //www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide
否则,使用Rect
碰撞 Patashu 链接。
于 2013-04-12T19:16:44.667 回答