LibGDX中的分屏

这个问题简短而简单。 如何在LibGDX中创建分屏效果。 如果我创建两个摄像头,那么它将绘制一个位于某个地方,然后绘制下一个,覆盖前一个摄像头。 然后我想使用多个屏幕,但看起来它不会起作用,因为它只支持resize而不是在窗口内重新定位。 我也使用Box2DDebugRenderer以及ShapeRenderer,因此它还需要在分屏限制下切断它们。 LibGDX网站上似乎没有任何文档。

在#libgdx IRC上询问了一下之后,向我指出了函数Gdx.gl.glViewport( int x, int y, int width, int height ) 。 所以你只需要一台相机。 只需设置屏幕左侧的视口,然后执行绘图命令,然后设置屏幕右侧的视口并再次绘制。 像这样:

 @Override public void render( float delta ) { /*Wipe Screen to black*/ Gdx.gl.glClearColor( Color.BLACK ); Gdx.gl.glClear( GL10.GL_COLOR_BUFFER_BIT ); /*Left Half*/ Gdx.gl.glViewport( 0,0,Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight() ); //Set up camera with viewport in mind draw( delta ); /*Right Half*/ Gdx.gl.glViewport( Gdx.graphics.getWidth()/2,0,Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight() ); //Set up camera again with other viewport in mind draw( delta ); } 

您只需要设置相机,使其按照您想要的方式定位并转换到有限的屏幕,而不是整个屏幕。 你也可以使用第二台相机。