Вращение спрайта и встречное вращение

Я создаю мобильную игру и пытаюсь реализовать ту же концепцию поворота изображения, что и в 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 ответ

Решение

Вращая область Текстуры вместо этого через пакет

Другие вопросы по тегам