【发布时间】:2016-08-14 17:29:52
【问题描述】:
我正在努力实现具有 2 个阶段的游戏屏幕。 目的是让左侧区域说 50% 是游戏区域,50% 到右侧区域用于 UI 内容。
到目前为止,我有这个:
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();
}
}
uiRenderer 似乎覆盖在播放区域的顶部,而不是固定在右侧。我做错了什么?
【问题讨论】:
-
如果您不想要居中的视口,则必须创建自定义视口子类。所有内置的仅支持居中定位。
标签: libgdx