2012-12-11 12 views
7

Voglio creare una schermata di menu di gioco in LibGDX utilizzando il pacchetto scene2d con i seguenti layout diLinearLayout analogico all'interno Tavolo in LibGDX

| label | 
| btn btn btn | 
| label | 

Il mio codice si presenta come segue:

Table table = getTable(); 
table.add(label1); 
table.row(); 
table.add(button1); 
table.add(button2); 
table.add(button3); 
table.row(); 
table.add(label2); 
table.row(); 

Ma invece di quello che ho voglio ottengo qualcosa di simile:

| label  | 
| btn btn btn | 
| label  | 

Il motivo è perché ogni table.add() m ethod call crea una nuova cella. Ma voglio mettere tutti i miei 3 pulsanti all'interno di una cella. Come posso ottenere il risultato desiderato, può essere in LibGDX esistente come LinearLayout o qualsiasi altra cosa?

risposta

9

chiamata colspan(3) sulla cella che viene restituito a voi quando si chiama add(label);

es.

Cell cell = table.add(label1); 
cell.colspan(3); 

Questo, come dice il nome, imposta quante colonne la cellula si estenderà in tutto. Potrebbe essere necessario impostare l'allineamento sulla cella anche chiamando cell.center();

si può stringa insieme queste chiamate dal momento che tutti restituiscono lo stesso oggetto delle cellule ..

table.add(label1).colspan(3).center(); 

La classe cellulare non sembra documentato per libgdx .. Sono semplicemente andato sul codice sorgente trovato here

La documentazione della classe di celle può essere trovata here per ora. Sembra che manchi dai documenti ufficiali.