Questa domanda è breve e semplice. Come posso creare un effetto schermo diviso in LibGDX. Se creo due fotocamere, tutto ciò che farà è disegnarne una che si trova da qualche parte e poi disegnare la successiva, sovrascrivendo la videocamera precedente. Ho quindi pensato di utilizzare più schermi ma non sembra che funzionerà in quanto supporta solo il ridimensionamento e non il riposizionamento all'interno della finestra. Sto anche usando Box2DDebugRenderer e ShapeRenderer in modo da doverli tagliare anche al limite dello schermo diviso. Non sembra esserci alcuna documentazione sul sito LibGDX.Split-Screen in LibGDX
7
A
risposta
18
Dopo aver chiesto un po 'di #libgdx IRC, la funzione Gdx.gl.glViewport(int x, int y, int width, int height)
mi è stata segnalata. Quindi hai solo bisogno di una telecamera. Basta impostare il viewport sul lato sinistro dello schermo, quindi eseguire i comandi di disegno, quindi impostare il viewport sul lato destro dello schermo e disegnare nuovamente. in questo modo:
@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);
}
Hai solo bisogno di impostare la fotocamera in modo che esso viene posizionato e trasformato allo schermo limitata nel modo desiderato anziché l'intero schermo. Potresti anche utilizzare una seconda videocamera.