尝试制作一个基本的平台游戏,并且无法理解如何检测冲突并处理Sprite超类。我正在学习更多基于回合制的游戏,他们正在使用类似的东西:
world_hit_list = pygame.sprite.spritecollide(self, self.world, False)
检测碰撞,然后移动自我精灵的矩形以匹配self.world对象的底部/顶部/左/右,以使您分开。我遇到的问题是,如果你“触摸”另一个精灵(即站在平台上),尽管没有实际重叠,但这仍然属于碰撞。我不确定如何解决这个问题,以便我只检测玩家精灵何时重叠,而不仅仅是旁边。我正在考虑创建一个单独的碰撞,每侧的像素小一个,但sprite.Sprite的所有功能都是基于使用对象的self.rect,我不知道如何使用spritecollide和draw的单独rects等等,所以我不确定我是否在正确的思路上。
答案 0 :(得分:1)