# 网格瓦片系统 ## 概述 网格瓦片系统提供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()` - 对齐到网格