Сдвиг камеры в libgdx при выходе из приложения и входе
@Override
public void render(float delta) {
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(background, 0, 0, 900, 500);
batch.end();
Gdx.gl.glEnable(GL20.GL_BLEND);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
renderer1.setProjectionMatrix(camera.combined);
renderer1.setColor(0, 0, 0, 0.8f);
renderer1.begin(ShapeRenderer.ShapeType.Filled);
renderer1.rect(0, 410, 900, 80);
renderer1.end();
renderer2.setProjectionMatrix(camera.combined);
renderer2.setColor(1, 1, 1, 0.8f);
renderer2.begin(ShapeRenderer.ShapeType.Filled);
renderer2.rect(0, 320, 900, 60);
renderer2.end();
Gdx.gl.glDisable(GL20.GL_BLEND);
stage.act(delta);
stage.draw();
camera.update();
}
У меня возникла странная проблема, OrthographicCamera при запуске приложения работает немного неправильно, но после выхода из приложения в фоновый режим и возвращении обратно в приложение, камера резко выравнивается и получается, то что я хотел. Но при запуске это работает неправильно.
public MainView() {
batch = new SpriteBatch();
background = new Texture("background.jpg");
renderer1 = new ShapeRenderer();
renderer2 = new ShapeRenderer();
camera = new OrthographicCamera();
camera.setToOrtho(false, 900, 500);
initStage();
}
private void initStage() {
stage = new Stage(new FillViewport(900, 500));
initLabel();
initButton();
}
private void initLabel() {
skin = new Skin(Gdx.files.internal("jsons/skin.json"));
Label label = new Label("Шахматы", skin);
label.setAlignment(Align.center);
label.setPosition(410, 455, Align.center);
label.setFontScale(0.9f);
label.setColor(Color.WHITE);
stage.addActor(label);
}