gpt4 book ai didi

java - LibGDX:移动然后立即停止 box2d

转载 作者:行者123 更新时间:2023-12-02 02:29:52 26 4
gpt4 key购买 nike

我正在 LibGDX 中开发一个项目。这是一款 2D 平台游戏。你可以说它就像 super 马里奥。

这就是我将播放器移至右侧的方式:

if (Gdx.input.isKeyPressed(Input.Keys.RIGHT))
player.b2body.applyLinearImpulse(new Vector2(0.1f, 0), player.b2body.getWorldCenter(), true);
}

当我离开 key 时,玩家仍然在移动一点。 (我认为他的 body 上仍然有“线性脉冲”力)。

如何让它停止?

我的问题可能很简单:在按住某个键的同时在 LibGDX 上向一个方向移动物理主体的最佳方法是什么?当我离开 key 时,播放器立即停止。

bdw - 我尝试过“setTransform”,当 body 接触其他物体时它会产生问题 - 而且 sahpe 出现在屏幕中游戏其余部分“之前”(你可以看到它)调试时)

谢谢。

最佳答案

你的方法没问题。我还建议设置你 body 的最大速度:

if (Gdx.input.isKeyPressed(Input.Keys.RIGHT) && player.b2body.getLinearVelocity().x < maxSpeed)
player.b2body.applyLinearImpulse(new Vector2(0.1f, 0), player.b2body.getWorldCenter(), true);
}

使用setLinearVelocity方法立即停止你的 body 。:

player.b2body.setLinearVelocity(0f, 0f);

关于java - LibGDX:移动然后立即停止 box2d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47295471/

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