Как управлять камерой для плавного перехода к игровому персонажу?

Я делаю игру для 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;  

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


person Sandeep Tiwari    schedule 28.02.2012    source источник
comment
Я не уверен, что понимаю ваш вопрос, вы говорите, что ваша камера резко движется, когда используется питание, вместо плавного движения к месту назначения?   -  person Xavier Guzman    schedule 28.02.2012


Ответы (1)


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

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

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

person Xavier Guzman    schedule 28.02.2012