【问题标题】:libgdx how to split the screen to 4 partslibgdx如何将屏幕分成4个部分
【发布时间】:2017-07-07 09:19:25
【问题描述】:

这就是我希望我的屏幕的样子: 在左上角我需要有 6 个3d models,所以我将使用PerspectiveCamera 来做到这一点。右上角的笑话需要提供一些数据,所以我将使用scene2d 来完成。当3d modelsbatch.dra()PerspectiveCamera 淹没时,左下角需要一个组合,关于模型的数据将是scene2d。在右下角,我开玩笑说需要一个scene2d table 来显示所有连接的用户。我的问题是如何将屏幕拆分为 4,以便屏幕的每个部分都呈现不同的效果。

【问题讨论】:

  • 您可以使用 2 行 2 列的表格。将它们设置为.expand() / `.fill()' 并且它们应该在屏幕上均匀地伸展。或者自己计算。
  • @Madmenyo 问题是在左上角它不是scene2d 所以我不想要一个表格单元格。
  • 尝试使用setScreenX setScreenYscreenBounds 偏移视口。 libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/…

标签: java libgdx viewport scene2d viewport3d


【解决方案1】:

您可以尝试offsetting the viewportsetScreenXsetScreenYscreenBounds。您现在确实需要使用 2 个视口。

否则可以直接更改视口。 Gdx.gl.glViewport( 0,Gdx.graphics.getHeight() / 2,Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight() / 2 ); 应该在上角绘制所有内容。在更新中,它将如下所示:

`Gdx.gl.glViewport( 0,Gdx.graphics.getHeight() / 2,Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight() / 2 );
//Draw upper right window stuff

Gdx.gl.glViewport( 0,0, Gdx.graphics.getWidth(),Gdx.graphics.getHeight());
//Draw your stage and just leave the upper right window/table cell transparent

我没有测试这两种解决方案,所以我不确定它是否适合你。

【讨论】:

  • 我也看到了这个解决方案。但问题是我目前正在使用适合的视口,而这个解决方案是比率不能保存。事情开始延伸。
  • 显然您需要使用正确的纵横比设置宽度和高度。我不确定FitViewport 和第二种方法的行为是什么,但也许你可以试试CustomViewport。第二种方法应该只是将所有内容缩小到屏幕的 1/4 并将其推到左上角。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多