【问题标题】:Game screen with play area on the left and UI fixed on the right游戏画面左侧为游戏区,右侧为固定 UI
【发布时间】: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


【解决方案1】:

你需要在设置边界后使用apply方法。

vp.apply(boolean centercamera)

或者只是

vp.apply()

因为您不想以相机为中心。

【讨论】:

  • 这正是我所需要的! tks!
猜你喜欢
  • 1970-01-01
  • 2015-10-26
  • 2015-06-10
  • 1970-01-01
  • 2012-07-30
  • 2016-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多