overworld vs organizzazione di riquadri 2d sullo schermo

0

Sto sviluppando un gioco 2D in cui il mondo è fatto di piastrelle.

Ho un overworld e un "mondo attuale":

  • il mondo attuale rappresenta le tessere correnti sullo schermo in un dato momento, attualmente questo è in un array 2d (elementi 14x10).
  • l'overworld è il mondo intero, attualmente 28x20 elementi, il che significa che ci sono quattro schermate di tessere. Di nuovo, questi sono pianificati per essere archiviati in un array 2d

Inizialmente avevo pensato di prendere l'intero gruppo di tessere e di suddividerle in array 2d di dimensioni 'attuali' che vengono passati all'attuale oggetto del mondo. Ciò significherebbe, tuttavia, dover lavorare con un array 4d nel livello overworld, che sembra essere piuttosto brutto e più confuso da configurare e riprodurre in seguito.

Sarebbe sembrato qualcosa di simile a:

tiles[overworldX][overworldY][currentWorldX][currentWorldY]

dove "tiles" è l'array 4d e:

tiles[overworldX][overworldY]

ti darebbe una matrice 2d del gruppo di tessere che si adattano allo schermo / al mondo attuale. L'unica idea che riesco a fare per renderlo leggermente migliore è creare un oggetto helper che si avvolga attorno a un array 2d, suddividendo un array 4d in due array 2d, ma in pratica è ancora un array 4d.

Qualche suggerimento su un modo migliore per farlo o forse su una diversa struttura dati che posso usare? O forse mantenendo solo un grande gruppo di tessere 2D per il mondo ultraterreno, poi proporrà qualche algoritmo di indicizzazione / suddivisione in grado di estrarre parti di dimensioni 'attuali'?

    
posta mitim 20.02.2013 - 07:16
fonte

1 risposta

3

Lo stai complicando eccessivamente. Basta avere un singolo array 2d% ditiles e indicizzarlo in questo modo:

tiles[overworldX + currentWorldX][overworldY + currentWorldY]

    
risposta data 20.02.2013 - 12:33
fonte

Leggi altre domande sui tag