Sto lavorando a un gioco isometrico per browser veloci che supportano <canvas>
, che è molto divertente. Per salvare le informazioni di ogni piastrella, io uso un array bidimensionale che contiene numeri che rappresentano gli ID di piastrelle, come:Il modo più efficace per salvare i dati delle tessere di un gioco isometrico
var level = [[1, 1, 1, 2, 1, 0],
[0, 1, 1, 2, 0, 1],
[0, 1, 1, 2, 1, 1]];
var tiles = [
{name: 'grass', color: 'green'},
{name: 'water', color: 'blue'},
{name: 'forest', color: 'ForestGreen'}
];
Finora funziona benissimo, ma ora voglio lavorare con altezze e pendenze come in questa foto : alt text http://harmen.no-ip.org/isometrictiles.png
Per ciascuna piastrella è necessario salvare l'ID, l'altezza e le informazioni sulle tessere su cui gli angoli sono rivolti verso l'alto.
mi si avvicinò con una semplice idea di una rappresentazione bit per bit di tutti e quattro gli angoli, come questo:
1011 // top, bottom and left corner turned up
La mia domanda è: qual è il modo più efficace per salvare questi tre valori per ogni cella? È possibile salvare questi tre valori come un intero?
+1 per la foto :) – cletus
+1 Eccellente domanda. Interessato anche al gioco. –
+1 per non solo l'immagine ma la chiarezza complessiva della domanda. È davvero bello vedere qualcuno che si prende tutto il tempo per fare una domanda. – Ricket