2017-07-07 2 views
0

Voilà comment je veux que mon écran pour ressembler à: main screen Dans la gauche en coin que je dois avoir 6 3d models Je le ferai en utilisant le PerspectiveCamera. le coin droit de coin doit présenter quelques données, donc je vais le faire en utilisant le scene2d. Le coin inférieur gauche a besoin d'une combinaison lorsque le 3d models sera noyé avec un batch.dra() et le PerspectiveCamera et les données sur les modèles seront un scene2d. En bas à droite, j'ai besoin d'un scene2dtable pour afficher tous les utilisateurs connectés. Ma question est de savoir comment diviser mon écran en 4 afin que chaque partie de l'écran soit rendue différemment.libgdx comment diviser l'écran pour 4 parties

+0

Vous pouvez utiliser une table avec 2 lignes et 2 colonnes. placez-les à '.expand()'/'.fill() 'et ils devraient s'étendre également sur l'écran. Ou calculez-le vous-même. – Madmenyo

+0

@Madmenyo le problème est que dans le coin à gauche ce n'est pas un 'scene2d' donc je ne veux pas de cellule de table là-bas. – Roni

+0

Essayez de compenser la vue avec 'setScreenX'' setScreenY' et 'screenBounds'. https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/utils/viewport/Viewport.html – Madmenyo

Répondre

1

Vous pouvez essayer offsetting the viewport avec setScreenX, setScreenY et screenBounds. Vous devez utiliser 2 fenêtres d'affichage maintenant.

Sinon, il est possible de modifier directement la fenêtre. Gdx.gl.glViewport(0,Gdx.graphics.getHeight()/2,Gdx.graphics.getWidth()/2,Gdx.graphics.getHeight()/2); devrait tout dessiner dans le coin supérieur. Dans la mise à jour, il ressemblera à ceci:

`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 

Je ne l'ai pas tester soit la solution, donc je ne suis pas sûr si cela fonctionnera pour vous.

+0

J'ai également vu cette solution. Mais le problème est que je suis en train d'utiliser le port de vue d'ajustement et avec cette solution est que le rapport dose pas enregistrer. Les choses commencent à s'étirer. – Roni

+0

Évidemment, vous devez définir la largeur et la hauteur avec le format correct. Je ne suis pas sûr de ce que le comportement est avec «FitViewport» et la 2ème méthode, mais peut-être que vous pouvez essayer «CustomViewport». La 2ème méthode devrait tout rétrécir jusqu'à 1/4 de l'écran et le pousser en haut à gauche. – Madmenyo