首页 文章

使用Pygame Rects在2D平台游戏中进行碰撞检测(地面和斜坡)

提问于
浏览
1

首先,我没有遵守关于碰撞检测逻辑的任何指示;我知道了 .

我想要解决的是使用Sprites&Rects使用Pygame执行此操作的最简单方法 . 我希望能够检查玩家与地面,墙壁和斜坡的碰撞 . 从理论上讲,这是非常直接的,但我遇到了困难,因为看起来你不能用一个Rect做到这一点 .

一个Rect足够简单,可以让您在X平面上与墙壁发生碰撞 . 同样的Rect也可以在Y平面中用于实体,但不能用于斜率 - 因为Pygame中的碰撞例程它会检查整个Rect(或掩码),而不仅仅是Rect的底部中间 . 此外,你需要有一些“精灵”来检查碰撞,即玩家周围不同位置的1x1像素 .

什么是最简单的方法,没有一堆3,4或更多单独的“碰撞像素”来检查斜坡?

杰夫

2 回答

  • 1

    听起来像你想要像素完美的碰撞检测 . Here你可以找到一个预制功能,在我看来是你想要/需要的 .

  • 0

    您可以使用pygame.mask,它在C中提供像素完美碰撞检测:

    http://www.pygame.org/docs/ref/mask.html

相关问题