Как управлять камерой для плавного перехода к игровому персонажу? - PullRequest
1 голос
/ 28 февраля 2012

Я делаю игру для Android с использованием libgdx. Моё требование состоит в том, чтобы, когда персонаж играл в игру нормально, мы работали как

         if velocity == normal(==25) 
        cam.position.y = character.position.y;

Но в случае получения некоторой силы, мы должны плавно сжимать y-позициюсимвол для которого я назначаю как

             if when velocity >25(means get power)
           cam.position.y = character.position.y-screenHieght/3;  

, он работает, но персонаж не двигается плавно, движется рывком, и никакого реального эффекта не происходит.Пожалуйста, кто-нибудь, помогите мне, как я могу решить эту проблему?

1 Ответ

1 голос
/ 28 февраля 2012

После прочтения второго вопроса на ваш вопрос, я думаю, вы спрашиваете, как плавно обновить вашу камеру независимо от скорости, с которой движется игрок.

Вот как я обновляю свою камеру:

     protected void updateCamera() {
        float tX = cameraObjective.pos.x - cam.position.x;
        float tY = cameraObjective.pos.y - cam.position.y;
        float newX = cam.position.x + tX;
        float newY = cam.position.y + tY;
        if ( newX < camBounds.x || newX > camBounds.x + camBounds.width ){
            tX = 0;
        }
        if ( newY < camBounds.y  - camBounds.height || newY > camBounds.y  ){
            tY = 0;
        }
        cam.translate(tX, tY, 0);
    }

cambounds - это огромный прямоугольник, который определяет пределы движения камеры, поэтому вы можете пропустить эту часть, если это не полезно для вашего случая

...