LibGDX:立即移动然后停止box2d
LibGDX: move and then stop box2d immediately
我正在 LibGDX 从事一个项目。
这是一款二维平台游戏。你可以说它像超级马里奥
这就是我将播放器向右移动的方式:
if (Gdx.input.isKeyPressed(Input.Keys.RIGHT))
player.b2body.applyLinearImpulse(new Vector2(0.1f, 0), player.b2body.getWorldCenter(), true);
}
当我离开钥匙时,播放器还在移动一点。 (我认为它仍然 "Linear Impulse" 对他的身体 body 施加压力)。
我怎样才能让它停止?
我的问题可以很简单:
在按住键的同时在一个方向上移动 LibGDX 上的物理 body 的最佳方法是什么。当我离开钥匙时,播放器立即停止。
bdw - 我试过 "setTransform" 并且当 body 接触其他 objects 时出现问题 - 再加上 sahpe 来"before"画面中剩余的游戏内容(调试时可以看到)
谢谢。
你的方法没问题。我还建议设置 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);
我正在 LibGDX 从事一个项目。 这是一款二维平台游戏。你可以说它像超级马里奥
这就是我将播放器向右移动的方式:
if (Gdx.input.isKeyPressed(Input.Keys.RIGHT))
player.b2body.applyLinearImpulse(new Vector2(0.1f, 0), player.b2body.getWorldCenter(), true);
}
当我离开钥匙时,播放器还在移动一点。 (我认为它仍然 "Linear Impulse" 对他的身体 body 施加压力)。
我怎样才能让它停止?
我的问题可以很简单: 在按住键的同时在一个方向上移动 LibGDX 上的物理 body 的最佳方法是什么。当我离开钥匙时,播放器立即停止。
bdw - 我试过 "setTransform" 并且当 body 接触其他 objects 时出现问题 - 再加上 sahpe 来"before"画面中剩余的游戏内容(调试时可以看到)
谢谢。
你的方法没问题。我还建议设置 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);