Ciao a tutti,
Innanzitutto sono nuovo, quindi vi chiedo un po' di magnanimità nel caso io sbagli qualcosa, ad esempio nella sezione di pubblicazione, nel linguaggio o in altre cose...
Dunque,
Ho realizzato per java uno snake, senza ricorrere ad una vera e propria animazione, tuttavia funzionava comunque. Ora lo sto convertendo per Android. Ho creato una TableLayout (volendo avrei potuto farlo anche con una GridLayout) costituita da oggetti "Tesserina" che estondono (specializzano) ImageView. Lo spostamento avviene con lo scambio di immagini di ogni Tesserina. Io ho una matrice di puntatori a Tesserina, grande quanto il campo in cui si sposta lo Snake. Assumiamo che si debba spostare a sinistra: se la posizione corrente della testa del serpente è: matrice[i][j], allora scambierò l'immagine della tesserina della coda del serpente con matrice[i-1][j]. Dato che lo spostamento avviene da solo, chiamo lo spostamento in un loop in un thread secondario:
(dopo setContentView(TableLayout))
Thread t=new Thread(this);
dopodiché lo faccio partire
t.start()
public void run(){
while(true){
sposta() //richiamo i suddetti spostamenti che avvengono con scambio di immagine
}
}
Il problema?? SetContentView(..) aspetta che gli spostamenti finiscano prima di fare comparire la GUI a schermo (in questo caso MAI)...