Mon jeu isométrique 2D utilise une carte quadrillée hexagonale. En référence à l'image ci-dessous, comment faire pivoter les structures hexagonales bleu clair de 60 degrés autour des hexagones roses?
ÉDITER:
L'hex principal est (0,0). Les autres hex sont des enfants, le nombre d'entre eux est fixe. Je vais définir une seule position (dans ce cas, sa droite) et calculer d'autres directions si nécessaire (en bas à gauche, en bas à droite, en haut à droite, en haut à gauche et à gauche). D'autres hexagones sont définis comme: Package.Add (-1,0), Package.Add (-2,0) et ainsi de suite.
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;
}
Dans ce code Number
est l'hexagone principal et Point
l'hexagone que je veux faire pivoter, mais cela ne fonctionne pas: