6. 创建游戏地图
2026/4/13大约 3 分钟
创建游戏地图
地图就是玩家活动的"舞台"。在 2D 游戏中,地图通常由很多小图片(瓦片)像拼图一样拼出来。
想象你在用乐高积木搭一个场景——一块绿色积木是草地,一块棕色积木是泥土,一块灰色积木是石头。把成百上千块积木按一定规律拼在一起,就形成了一张完整的地图。
Godot 中的地图系统
Godot 使用 TileMap(瓦片地图)系统来创建 2D 地图,核心概念:
| 概念 | 一句话解释 |
|---|---|
| TileSet(瓦片集) | 你所有可用的"积木"合集,定义了每种积木长什么样 |
| TileMapLayer(瓦片地图层) | 实际拼好的地图场景,用瓦片集中的积木拼出来的结果 |
| Tile(瓦片) | 单个"积木",一张小图片 |
创建地图的步骤
第一步:准备瓦片集图片
把你的地图素材合并到一张大图上(这叫"精灵表"或"图集"),例如一张包含草地、泥土、石头、水面等所有地图素材的图片。
如果你用了第三方素材包,通常已经有一张合并好的图集了。
第二步:创建 TileSet 资源
- 在文件系统面板右键 → 新建资源 → 选择
TileSet→ 命名为overworld_tileset.tres - 在 TileSet 编辑器中,添加一个
TileSetAtlasSource(图集来源) - 把你的瓦片集图片拖入图集来源
- 设置每个瓦片的区域大小(如 16×16 或 32×32 像素)
- 给瓦片添加碰撞形状(玩家不能穿过的部分)
第三步:创建 TileMapLayer 节点
- 创建新场景 → 选择
Node2D作为根节点 → 命名为Level_01 - 添加子节点 → 搜索
TileMapLayer→ 添加 - 在右侧属性面板,把刚才创建的 TileSet 赋给 TileMapLayer 的
Tile Map属性
第四步:绘制地图
- 选中 TileMapLayer 节点
- 点击编辑器底部的地图编辑模式按钮(或在顶部菜单选择)
- 在瓦片选择面板中选择要画的瓦片
- 在 2D 视口中直接"画画"——点击或拖拽即可铺设瓦片
地形自动连接
TileSet 内置了地形系统(Terrains),可以让草地和泥土的边缘自动"缝合",不需要手动处理转角:
- 在 TileSet 编辑器中,创建一个
Terrain Set - 选择一个地形(如"草地")
- 选中草地瓦片的三个边(上、左、右),标记为"草地"
- 选中泥土瓦片,把相邻的边标记为"草地"
这样画地图时,草地和泥土会自动生成过渡效果。
多层地图
大型游戏通常用多个 TileMapLayer 叠加来创建地图:
| 层 | 用途 | 示例 |
|---|---|---|
| 底层 | 地面 | 草地、泥土、水面 |
| 中层 | 碰撞物 | 墙壁、石头、箱子 |
| 顶层 | 装饰物 | 树木、花草(渲染在玩家上方) |
在 Godot 4.x 中,每个层是独立的 TileMapLayer 节点,可以分别设置碰撞和渲染顺序。
图案(Patterns)
如果你画好了一段地图(比如一段重复的围墙),可以保存为"图案",然后在其他地方一键填充,避免重复劳动。
下一章
地图搭好了,让玩家动起来。
