Как центрировать фон в сцене Анденгине - PullRequest
1 голос
/ 30 декабря 2011

Есть ли формула, которая будет использоваться для центрирования фона в камере Andengine.

Моя камера имеет размер экрана на определенном устройстве, которое я получаю, используя это ...

final Display display = getWindowManager().getDefaultDisplay(); 
CAMERA_WIDTH = display.getWidth(); 
CAMERA_HEIGHT = display.getHeight();

int x = //formula to center background in camera or screen on the X axis

int y = //formula to center background in camera or screen on the Y axis

Для моего SpriteBackground, как я могу выяснить, что такое x и y, чтобы центрировать его в камере?

x и y поставляются следующим образом ..

Sprite sprite = new Sprite(x,y,TextureRegion);

Ответы [ 2 ]

3 голосов
/ 30 декабря 2011
final float x = CAMERA_WIDTH / 2 - textureRegion.getWidth() / 2;
final float y = CAMERA_HEIGHT / 2 - textureRegion.getHeight() / 2;
Sprite sprite = new Sprite(x, y, textureRegion);

Это сделает спрайт позиционированным в середине сцены.Если камера не перемещается, она также будет центром камеры (и, следовательно, экрана).

1 голос
/ 30 декабря 2011

Вам следует проверить метод setBackground для вашей сцены.Он будет центрировать ваш спрайт и перемещать его, когда ваша камера движется.

    Sprite background = new Sprite(0,0, CAMERA_WIDTH, CAMERA_HEIGHT, backgroundTextureRegion);
    scene.setBackground(new SpriteBackground(background));
...