如何告诉python检测两个对象/图像是否互相接触?例如,当吃豆人的图像接触到鬼魂的图像时?
发布于 2013-04-12 05:55:15
http://www.pygame.org/docs/ref/rect.html#pygame.Rect.colliderect
colliderect()
测试两个矩形是否重叠
碰撞(Rect) ->布尔
如果任一矩形的任何部分重叠( top+bottom或left+right边除外),则返回true。
如果精灵之间唯一的碰撞检测是在吃豆人和其他物体之间,那么只需在每个吃豆人的碰撞矩形和每个其他碰撞矩形的组合上调用colliderect
。
如果每个单独的碰撞组合都是有意义的,那么就生成一个包含所有碰撞的大列表,并使用列表中更靠前的每个矩形对每个矩形执行colliderect
操作。
每次发生冲突时,您都可以选择执行某些操作-您甚至可以调用这两个对象,传递发生冲突的另一个对象,从而允许逻辑包含在其中一个或两个对象中。
发布于 2013-04-12 19:16:45
我猜你是用Sprite
s来玩吃豆人和幽灵吧?如果是这样,您需要一个精灵碰撞函数:http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.spritecollide
否则,请使用Rect
冲突Patashu链路。
https://stackoverflow.com/questions/15963942
复制