Il mio gioco isometrico 2D utilizza una mappa a griglia esagonale. In riferimento all'immagine seguente, come posso ruotare le strutture di esagono azzurro di 60 gradi attorno agli esagoni rosa?
MODIFICARE:
L'esagono principale è (0,0). Altri esagoni sono bambini, il conteggio è fisso. Definirò solo una posizione (in questo caso la sua destra) e calcolerò altre direzioni se necessario (in basso a sinistra, in basso a destra, in alto a destra, in alto a sinistra e a sinistra). Altri esagoni sono definiti come: Package.Add (-1,0), Package.Add (-2,0) e così via.
switch(Direction)
{
case DirRightDown:
if(Number.Y % 2 && Point.X % 2)
Number.X += 1;
Number.Y += Point.X + Point.Y / 2;
Number.X += Point.X / 2 - Point.Y / 1.5;
break;
}
In questo codice Number
è l'esagono principale ed Point
è l'esagono che voglio ruotare, ma non funziona: