首页 文章

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

提问于
浏览
0

试图制作一个基本的平台游戏,并且无法理解如何检测碰撞并处理Sprite超类 . 我是从一个更加回合制的ish游戏中学习的,他们使用类似的东西:

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

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

1 回答

  • 0

    好吧,我在pygame中打招呼,我真的不明白问题,但它看起来你想减少hitbox与self.rect.inflate(负值x,负值y)抱歉,如果它没有回答你的问题

相关问题