Ich habe Probleme mit der Implementierung eines Spielbildschirms mit 2 Stufen. die Absicht ist für den linken Bereich sagen 50% zu spielen Bereich und 50% in den richtigen Bereich für UI Sachen.Spielbildschirm mit Spielbereich auf der linken Seite und UI auf der rechten Seite fixiert
Bisher habe ich dies:
class GameScreen implements Screen {
Stage playStage;
Stage uiStage;
private GameScreen() {
// this is a 1024 * 768 resolution game
Viewport playVP = new FitViewPort(512, 768, new OrthographicCamera());
playStage = new Stage(playVP);
playVP.setScreenBounds(0,0,512,768);
Viewport uiVP = new FitViewPort(512, 768, new OrthographicCamera());
uiStage = new Stage(uiVP);
uiVP.setScreenBounds(512,0,512,768); // offset the x
}
public void render(float delta) {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
playStage.act();
uiStage.act();
playrenderer.setView(playCamera);
playrenderer.render();
uiRenderer.setView(uiCamera);
uiRenderer.render();
playStage.draw();
uiStage.draw();
}
}
Die uiRenderer Overlay auf dem Spielbereich zu sein scheint, und nicht auf der rechten Seite befestigt gelegen. Was mache ich falsch?
Sie müssen eine benutzerdefinierte Viewport-Unterklasse erstellen, wenn Sie kein zentriertes Ansichtsfenster wünschen. Alle eingebauten unterstützen nur die zentrierte Positionierung. – Tenfour04