Как я могу отображать две сцены одновременно на LibGDX? [Дубликат]

Наличие экземпляра класса в качестве переменной clazz:

  ReflectionFactory rf = ReflectionFactory.getReflectionFactory ();  Конструктор objDef = parent.getDeclaredConstructor ();  Конструктор intConstr = rf.newConstructorForSerialization (clazz, objDef);  clazz.cast (intConstr.newInstance ());   

, как описано в http://www.javaspecialists.eu/archive/Issue175.html

7
задан Jonathan Pearl 27 July 2013 в 21:55
поделиться

1 ответ

После некоторого запроса в IRC #libgdx функция 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 );
}

Вам просто нужно настроить камеру так, чтобы она позиционировалась и преобразовывалась на ограниченный экран так, как вы хотите, а не на весь экран. Вы также можете использовать вторую камеру.

18
ответ дан Jonathan Pearl 16 August 2018 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: