0

我正在 AS3 中制作一个基本的平台游戏引擎,目前正在实现重力。目前,重力让玩家在着陆时会下沉几个像素(取决于玩家的速度),我不希望这样。

我希望能够提前 1 帧测试碰撞(扫描测试),如果下一帧会发生碰撞,我希望玩家停止 0px 进入地面,无论玩家的速度如何。

我还想要采用地形形状的像素完美碰撞,所以我一直在使用 Corey O'Neil 的碰撞检测套件 (CDK),它非常适合检测碰撞,但我不知道如何制作它预测他们。我不确定这是否是最好的库。

我不确定 Box2D;我觉得这对我想要的来说太多了。

知道如何在 AS3 中进行像素完美的扫描测试吗?

4

2 回答 2

0

Box2D 也应该非常适合小型项目,以防您以后想扩大规模......

如果您需要更快地深入了解,请查看Quick Box 2d

还有一些很好的教程(这里这里)。

于 2012-10-03T14:14:35.460 回答
0

我希望能够提前 1 帧测试碰撞(扫描测试),如果下一帧会发生碰撞,我希望玩家停止 0px 进入地面,无论玩家的速度如何。

在你的游戏循环中,你正在检查 colisions,只需添加将在下一帧中完成的运动,即当前的 Y 速度。像这样的东西:

if(currentYSpeed + player.y >= ground.y)
{
    player.y = ground.y
}else
{
    player.y += currentYSpeed;
} 
于 2012-10-03T18:11:29.990 回答