如何判断两个精灵是否实际碰撞而不只是“触摸”#34;在pygame中

时间:2014-04-19 19:37:28

标签: python pygame collision-detection

尝试制作一个基本的平台游戏,并且无法理解如何检测冲突并处理Sprite超类。我正在学习更多基于回合制的游戏,他们正在使用类似的东西:

world_hit_list = pygame.sprite.spritecollide(self, self.world, False)

检测碰撞,然后移动自我精灵的矩形以匹配self.world对象的底部/顶部/左/右,以使您分开。我遇到的问题是,如果你“触摸”另一个精灵(即站在平台上),尽管没有实际重叠,但这仍然属于碰撞。我不确定如何解决这个问题,以便我只检测玩家精灵何时重叠,而不仅仅是旁边。我正在考虑创建一个单独的碰撞,每侧的像素小一个,但sprite.Sprite的所有功能都是基于使用对象的self.rect,我不知道如何使用spritecollide和draw的单独rects等等,所以我不确定我是否在正确的思路上。

1 个答案:

答案 0 :(得分:1)

好吧,我在pygame打招呼,我没有真正理解问题,但在我看来你想用self.rect.inflate减少hitbox(负值x,负值y)对不起,如果它没有回答你的问题