Sto per effettuare il porting di un gioco inizialmente scritto per iOs e ho qualche dubbio su come certe cose dovrebbero essere fatte.
Ho cercato molti degli esempi dei loop di gioco per Android, e quasi ovunque il ciclo di gioco è progettato per essere eseguito in thread separati e non nel thread principale dell'interfaccia utente, il che mi sembra corretto e logico. Tuttavia, la mia scena di gioco è una combinazione di grafica OpenGL e viste Android standard (pulsanti, etichette, ecc ...) e, per progettazione, la logica di gioco primaria e il disegno OpenGL sarebbero fatti in un thread separato e il resto della roba standard sarebbe fatto nel thread dell'interfaccia utente principale.
In molte situazioni, dovrò chiamare le funzioni che devono essere eseguite nel thread di gioco dal thread principale dell'interfaccia utente e viceversa. Come semplice esempio di base, quando l'utente esegue il tocco (che viene rilevato nel thread dell'interfaccia utente) l'evento deve essere propagato ed elaborato dal thread del gioco.
Conoscete alcuni meccanismi o schemi validi su come interagire in modo trasversale? C'è una soluzione più semplice per un loop di gioco, forse non eseguendo il ciclo in un thread separato?