9

这个问题很简短。如何在 LibGDX 中创建分屏效果。如果我创建两个相机,它会做的就是在某处绘制一个,然后绘制下一个,覆盖前一个相机。然后我想使用多个屏幕,但这看起来并不可行,因为它只支持调整大小而不支持在窗口内重新定位。我还使用 Box2DDebugRenderer 和 ShapeRenderer,因此它还需要在分屏限制处切断它们。LibGDX 站点上似乎没有任何文档。

4

1 回答 1

20

在#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 );
}

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

于 2013-07-27T23:26:58.657 回答