在Pygame中使用colliderect

时间:2013-04-12 05:46:10

标签: python python-2.7 pygame

如何告诉python检测两个对象/图像是否相互接触?例如,当pacman的图像接触到幽灵的图像时?

2 个答案:

答案 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链接。