0

我正在 LibGDX 框架中制作简单的 Android 游戏。我卡在某一点上,我希望你能帮助我。我不想在固定点施加线性脉冲。当按下 W 时,程序应该检查玩家的角度并将脉冲施加到正确的点。

player.applyLinearImpulse(new Vector2(0,1000), new Vector2((float)Math.cos(angle)*player.getPosition().x,(float)Math.sin(angle)*player.getPosition().y/2), true);

当我按 W 时,播放器上升没有任何问题。

但是当我按 D 并且玩家角度发生变化时:

player.applyTorque(2000, true);

如果我再次按 W 播放器开始旋转。我该怎么做才能以正确的方式对玩家施加脉冲?我希望玩家表现得像火箭或“喷气背包”

4

1 回答 1

0

Body.getWorldVector(...)来检索世界坐标中的局部向量。你可以试试这个:

Vector2 forward = player.getWorldVector(new Vector2(0, 1)).nor();
player.applyForceToCenter(forward.x * strength, forward.y * strength);
于 2013-11-04T14:08:26.697 回答