如何告诉python检测两个对象/图像是否相互接触?例如,当pacman的图像接触到幽灵的图像时?
答案 0 :(得分:2)
http://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect
colliderect()
测试两个矩形是否重叠
colliderect(Rect) - >布尔
如果任一矩形的任何部分重叠,则返回true(除了 顶部+底部或左侧+右侧边缘。
如果sprite之间的唯一碰撞检测是在pac-man和其他对象之间,那么只需在pacman的碰撞矩形和每个其他碰撞矩形的每个组合上调用colliderect
。
如果碰撞的每一个组合都有意义,那么就生成一个包含所有碰撞的大清单,并在列表的每个矩形中加上每个矩形colliderect
。
每发生一次碰撞,你可以选择做某事 - 你甚至可以调用两个对象,传递碰撞的另一个对象,从而允许逻辑包含在一个或两个对象中。
答案 1 :(得分:0)
我假设你正在使用Sprite
为你的pacman和ghost?如果是这样,你想要一个精灵碰撞函数:http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide
否则,请使用Rect
碰撞Patashu链接。