Вращение спрайта и встречное вращение
Я создаю мобильную игру и пытаюсь реализовать ту же концепцию поворота изображения, что и в Flappy bird.
Я могу повернуть изображение против часовой стрелки с силой тяжести, и когда я касаюсь экрана, вращение по часовой стрелке
Моя проблема в том, что я не получаю плавного вращения по часовой стрелке, когда я касаюсь экрана, чтобы заставить птицу летать. Птица выглядит так, как будто она качается, как лодка. Я знаю, что это связано с происхождением, но я застрял здесь.
Смотри мой код
private void updateAnimation(){
stateTime += Gdx.graphics.getDeltaTime();
if(!Play.hit && Play.state != Play.GAME_OVER)
currentFrame = walkAnimation.getKeyFrame(stateTime, true);
anim = new Sprite(currentFrame);
anim.setSize(BODY_WIDTH, BODY_HEIGHT);
anim.setOrigin(BODY_WIDTH/2, BODY_HEIGHT/2);
anim.setPosition(SCREEN_X-BODY_WIDTH/2, Player.position.y);
if(Play.state == Play.GAME_RUNNING ){
if(ANGLE >= -75){
if(!Gdx.input.justTouched()){
updateRotation();
}
}
anim.setRotation(getANGLE());
}
anim.draw(batch);
}
public void updateRotation(){
ANGLE = Player.velocity.y / 8;
}
это код для установки вращения по часовой стрелке
if(GameWorld.ANGLE <= 10){
GameWorld.setANGLE(5* Gdx.graphics.getDeltaTime());
}
Player.velocity.y = 320;
1 ответ
Решение