diff --git a/docs/06-功能模块/网格瓦片系统.md b/docs/06-功能模块/网格瓦片系统.md new file mode 100644 index 0000000..0557b65 --- /dev/null +++ b/docs/06-功能模块/网格瓦片系统.md @@ -0,0 +1,59 @@ +# 网格瓦片系统 + +## 概述 + +网格瓦片系统提供32x32像素的标准化网格管理,用于规范地图元素的位置和大小。 + +## 核心组件 + +### GridSystem (核心系统) +- **位置**: `_Core/systems/GridSystem.gd` +- **功能**: 提供网格坐标转换、位置计算等基础功能 +- **类型**: 静态工具类 + +### GrassTile (瓦片组件) +- **脚本**: `scenes/prefabs/GrassTile.gd` +- **场景**: `scenes/prefabs/grass_tile_prefab.tscn` +- **功能**: 可视化的草地瓦片,自动对齐32x32网格 + +## 使用方法 + +### 在编辑器中使用 +1. 拖拽 `scenes/prefabs/grass_tile_prefab.tscn` 到场景中 +2. 在Inspector中设置Texture和Grid Position +3. 瓦片会自动对齐到网格 + +### 通过代码使用 +```gdscript +# 预加载场景 +const GrassTileScene = preload("res://scenes/prefabs/grass_tile_prefab.tscn") + +# 创建瓦片 +var grass = GrassTileScene.instantiate() +add_child(grass) +grass.set_grid_position(Vector2i(0, 0)) +``` + +## 网格规范 + +### 基础规格 +- **网格大小**: 32x32像素 +- **坐标系**: 左上角为原点(0,0) +- **对齐方式**: 瓦片中心对齐到网格中心 + +### 纹理要求 +- 尺寸必须是32的倍数 +- 推荐格式: PNG +- 推荐尺寸: 32x32, 64x64, 96x96 + +## API参考 + +### GridSystem 方法 +- `world_to_grid(world_pos: Vector2) -> Vector2i` +- `grid_to_world_center(grid_pos: Vector2i) -> Vector2` +- `snap_to_grid(position: Vector2) -> Vector2` + +### GrassTile 属性和方法 +- `grid_position: Vector2i` - 网格坐标 +- `set_grid_position(pos: Vector2i)` - 设置网格位置 +- `snap_to_grid()` - 对齐到网格 \ No newline at end of file