【问题标题】:Collision Detection (Ground & Slopes) in 2D Platform Game using Pygame Rects使用 Pygame Rects 在 2D 平台游戏中进行碰撞检测(地面和斜坡)
【发布时间】:2010-11-05 01:03:01
【问题描述】:

首先,我没有任何关于碰撞检测逻辑的说明;我明白了。

我正在努力解决的问题是使用 Sprites & Rects 使用 Pygame 做到这一点的最简单的方法。我希望能够检查玩家与地面、墙壁和斜坡的碰撞。从理论上讲,这很简单,但我遇到了困难,因为您似乎无法用一个 Rect 做到这一点。

一个 Rect 非常简单,可以让您在 X 平面上与墙壁发生碰撞。相同的 Rect 也可以用于 Y 平面中的实体,但不能用于斜率 - 因为 Pygame 中的碰撞例程它检查整个 Rect(或蒙版),而不仅仅是 Rect 的底部中间。此外,您似乎还需要有一些“精灵”来检查碰撞,它们在播放器周围的各个位置都是 1x1 像素。

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

杰夫

【问题讨论】:

    标签: 2d collision-detection pygame


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-06
        • 1970-01-01
        相关资源
        最近更新 更多