Trò chơi isometric 2D của tôi sử dụng bản đồ lưới lục giác. Để tham khảo hình ảnh bên dưới, làm cách nào để xoay các cấu trúc hình lục giác màu xanh nhạt 60 độ quanh các hình lục giác màu hồng?
BIÊN TẬP:
Hex chính là (0,0). Các hình lục giác khác là trẻ em, số lượng của chúng là cố định. Tôi sẽ chỉ xác định một vị trí (trong trường hợp này là bên phải) và tính các hướng khác nếu cần (phía dưới bên trái, bên phải botom, bên phải trên cùng, bên trái và bên trái). Các hình lục giác khác được định nghĩa như: Gói.Add (-1,0), Gói.Add (-2,0), v.v.
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;
}
Trong mã Number
này là hex chính và Point
là hex mà tôi muốn xoay, nhưng nó không hoạt động: