我试图让身体以更快的速度移动。起初它开始加速但不久之后达到恒定速度。如何让它保持加速?
我的代码如下所示:
world = new World(new Vector2(0, 0), true);
if (Gdx.input.isKeyPressed(Input.Keys.D))
body.applyLinearImpulse(400f, 0, pos.x, pos.y, true);
if (Gdx.input.isKeyPressed(Input.Keys.A))
body.applyLinearImpulse(-400f, 0, pos.x, pos.y, true);
if (Gdx.input.isKeyPressed(Input.Keys.W))
body.applyLinearImpulse(0, 400f, pos.x, pos.y, true);
if (Gdx.input.isKeyPressed(Input.Keys.S))
body.applyLinearImpulse(0, -400f, pos.x, pos.y, true);
答案 0 :(得分:0)
要随着时间的推移Body
加速,通常会使用applyForce
,applyLinearImpulse
会立即用于速度更改。
记住,只要你想要加速,你就必须打电话给applyForce
,而冲动通常只应用一次。
想想一辆起步车:车轮的旋转与摩擦力相结合,为整辆车增添了力量,加速了它
如果汽车然后有一定的速度并打到一个箱子,那么一次就会对箱子施加一个冲动,几乎立即提高它的速度。
因此,您可以尝试将applyLinearImpulse
来电更改为applyForce
并确保每update
个周期调用一次,只要您按下给定的密钥。