gpt4 book ai didi

java - 使用 applyLinearImpulse box2d 提高 body 速度

转载 作者:行者123 更新时间:2023-12-01 11:41:56 25 4
gpt4 key购买 nike

我试图让 body 以越来越快的速度移动。起初它开始加速,但不久之后就达到恒定速度。如何让它保持加速?

我的代码如下所示:

 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);

最佳答案

要使 Body 随着时间的推移而加速,通常使用 applyForce,而使用 applyLinearImpulse 来立即改变速度。
请记住,只要您想加速,就必须调用 applyForce,而脉冲通常只应用一次。
想象一下一辆正在启动的汽车:车轮的旋转加上摩擦力为整个汽车增加了一个力,使其加速。
如果汽车达到一定速度并撞到一个盒子,则会对盒子施加一次冲量,几乎立即增加其速度。
因此,您可以尝试将 applyLinearImpulse 调用更改为 applyForce 并确保只要您按给定的键,每个 update 周期都会调用它.

我建议您阅读Box2D tutorials on iforce2d.net

关于java - 使用 applyLinearImpulse box2d 提高 body 速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29457121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com