跳转至

坐标与邻居

GFHexGridMath 使用 cube 坐标作为内部拓扑,并提供 offset 坐标转换入口。

var cube := GFHexGridMath.offset_to_cube(Vector2i(2, 3), GFHexGridMath.OffsetLayout.ODD_R)
var cell := GFHexGridMath.cube_to_offset(cube, GFHexGridMath.OffsetLayout.ODD_R)

var neighbors := GFHexGridMath.get_neighbors(
    Vector2i(4, 4),
    Vector2i(16, 16),
    GFHexGridMath.OffsetLayout.ODD_R
)

布局选择应与项目地图数据保持一致。GF 只负责坐标转换和邻域关系,不负责 TileMap、Mesh 或编辑器资源生成。

像素换算支持 pointy-top 与 flat-top。hex_size 表示六边形外接圆半径。这些函数只返回中心点或顶点偏移,最终如何创建 TileMap、Polygon2D、Mesh、碰撞或相机仍由项目层决定。