У меня проблема: Я программирую карточную игру с черепичной карточной коробкой с Box2D, но это значит, что если я нажму, например, для того, чтобы идти вперед с моим персонажем, вектор 2 меня ускоряет и ускоряет поэтому я сделал это:Libgdx box2d Tiled map
if (Gdx.input.isKeyJustPressed(Input.Keys.W) && player.b2body.getLinearVelocity().y == 0)
player.b2body.applyLinearImpulse(new Vector2(0, 4f), player.b2body.getWorldCenter(), true);
if (Gdx.input.isKeyPressed(Input.Keys.D))
player.b2body.applyLinearImpulse(new Vector2(0.1f, 0), player.b2body.getWorldCenter(), true);
if (Gdx.input.isKeyPressed(Input.Keys.A))
player.b2body.applyLinearImpulse(new Vector2(-0.1f, 0), player.b2body.getWorldCenter(), true);
if (player.b2body.getLinearVelocity().x > 2) {
player.b2body.setLinearVelocity(2, player.b2body.getLinearVelocity().y);
}
else if (player.b2body.getLinearVelocity().x < -2) {
player.b2body.setLinearVelocity(-2, player.b2body.getLinearVelocity().y);
}
Таким образом, у игрока максимальная скорость в два. Но когда он бьет по земле, он медленнее около полутора секунд, потому что он получает пост в воздухе. Как я это исправить?
И мой второй квест: Когда я прыгаю и нажимаю прыжок снова сразу после того, как я ударил по городу, персонаж не прыгает! Почему и как я могу это исправить?
Надеюсь, вы можете мне помочь и благодарить заранее!
Интересно, была ли ваша проблема решена, если да, можете ли вы, пожалуйста, решить свой вопрос, выбрав правильный ответ, спасибо – Netero