Struttura dei dati per l'animazione degli effetti? [chiuso]

0

Sto facendo un prototipo per un gioco. Al momento sto lavorando sugli effetti, ma più in generale sull'animazione.

Attualmente, ho una lista in cui vengono aggiunti gli effetti appena generati. Quindi, nella sezione di aggiornamento del ciclo di gioco, lascerei che ogni effetto modificasse il loro stato in base al tempo. Quando termina un effetto, ho attivato una bandiera interna. Dopo aver aggiornato tutti gli effetti, controllo nuovamente l'elenco per eventuali effetti finali e li rimuovo dall'elenco.

Funziona. Ho pensato che si potesse fare in un modo migliore, ma non sono sicuro di come. Voglio dire, scorre due volte nella lista per aggiornare ed eliminare gli effetti finiti. Se uso un array, la cancellazione lascerà un buco lì, e dovrei tenere traccia di dove sono i buchi, il che sembra più complicato. Immagino che una lista collegata sia la migliore? Qualche suggerimento?

    
posta user2738698 23.11.2015 - 02:15
fonte

1 risposta

3

È difficile da dire, visto quello che hai inserito nella tua domanda (non si parla di linguaggio o requisiti di prestazione).

Un array funzionerà. Come hai notato, puoi rimuovere gli effetti finali e aggiungere la logica per gestire i buchi. Se si tratta di una matrice di oggetti, è sufficiente impostare tale elemento su NULL. Puoi anche avere un campo isFinished all'interno di un oggetto, se preferisci.

A seconda della lingua e dei requisiti di rendimento, potresti essere in grado di utilizzare qualcosa come il List<> di C #. Java ha una classe simile. Puoi considerarlo come un array con supporto per l'eliminazione senza buchi.

Non c'è niente di sbagliato in una lista collegata, ma sarei un po 'preoccupato per la possibilità di un'ottimizzazione prematura.

Rimani con il codice più semplice che funziona, attendi fino a quando non hai un problema misurabile di prestazioni, quindi usa il metodo scientifico per isolare il codice che deve essere ottimizzato.

    
risposta data 23.11.2015 - 04:08
fonte

Leggi altre domande sui tag