Перемещение камеры в игре «AndEngine» для Android - PullRequest
3 голосов
/ 19 января 2012

Я занимаюсь разработкой игры для Android с использованием AndEngine. На данный момент я хочу перемещать камеру вертикально в моей игре. Вы можете представить себе сценарий, похожий на игру «Drop», доступную в Android Market, где камера постоянно движется вниз, и вы используете акселерометр, чтобы держать мяч на сцене как можно дольше. https://market.android.com/details?id=com.infraredpixel.drop&hl=en)

Однако я не смог достичь большого успеха здесь. Я хочу постоянно перемещать камеру вниз, независимо от положения мяча (т.е. камера ChaseEntity () не будет работать). Ваша помощь будет оценена. Я использую GLES2 версию AndEngine

private static final int CAMERA_WIDTH = 720;
private static final int CAMERA_HEIGHT = 480;
private Camera mCamera;


public Engine onLoadEngine() {

            this.mCamera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);

            return new Engine(new EngineOptions(true, ScreenOrientation.LANDSCAPE,new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), this.mCamera));

    }

protected void onManagedUpdate(final float pSecondsElapsed) {

                    //Move camera down 
                    super.onManagedUpdate(pSecondsElapsed);

            }

1 Ответ

5 голосов
/ 19 января 2012

Существует более простой метод, который предоставляет AndEngine, без необходимости переопределять onManagedUpdate.

Я предлагаю вам использовать SmoothCamera. Используя гладкую камеру , вы можете установить максимальную скорость движения камеры, а затем попросить ее переместиться куда-нибудь. Затем он будет автоматически двигаться с максимальной скоростью, которую вы установили в направлении позиции, которую вы просили. Просто установите скорость Y, затем перейдите к некоторому значению Y и наблюдайте, как она медленно (или быстро, в зависимости от вашей скорости) автоматически движется к позиции.

...