1

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?

4

2 回答 2

2

http://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect

碰撞()

测试两个矩形是否重叠

碰撞(矩形)-> 布尔

如果任一矩形的任何部分重叠(顶部+底部或左+右边缘除外),则返回 true。

如果精灵之间唯一的碰撞检测是在 pac-man 和其他对象之间,那么只需调用colliderectpacman 的碰撞矩形和每个其他碰撞矩形的每个组合。

如果碰撞的每一个组合都有意义,则生成一个包含所有碰撞的大列表以及colliderect每个矩形,每个矩形在列表中更靠前。

每次发生碰撞,您都可以选择做某事——您甚至可以调用两个对象,传递发生碰撞的另一个对象,从而允许逻辑包含在一个或两个对象中。

于 2013-04-12T05:55:14.577 回答
0

我假设您正在使用Sprites 作为您的 pacman 和 ghost?如果是这样,您想要精灵碰撞功能之一:http: //www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide

否则,使用Rect碰撞 Patashu 链接。

于 2013-04-12T19:16:44.667 回答