Resprite 与 Tiled 工具链互通:.tmx / .tsx 导入导出
为什么要与 Tiled 互通
Tiled(原 Tiled Map Editor)是目前最主流的关卡 / 地图编辑器,几乎所有 2D 游戏引擎(Unity、Godot、Cocos、Phaser 等)都支持 Tiled 格式。如果 Resprite 可以和 Tiled 直接交换地图,那你在 Resprite 里画的瓦片地图就可以直接交给关卡设计师用 Tiled 继续编辑、或直接导入游戏引擎。
Resprite 支持 Tiled 的两种核心格式:
| 格式 | 扩展名 | 内容 |
|---|---|---|
| Tiled 地图 | .tmx | 整张地图的布局、瓦片集引用、层信息 |
| Tiled 瓦片集 | .tsx | 单个瓦片集的定义(瓦片尺寸、margin、spacing) |
导出 Tiled 地图
基本流程
- 在 Resprite 里完成瓦片地图的绘制(瓦片集 + 瓦片图层 + 地形规则都设置好)。
- 菜单 ▸ 导出 ▸ Tiled 地图。
- 选择导出路径。
- Resprite 会生成一个 ZIP 包,内含
.tmx地图文件、.tsx瓦片集文件、以及瓦片集的 PNG 图片。
不同网格类型的边界
导出时需要注意:
- 矩形地图 → 直接导出为矩形网格
.tmx。 - 等距地图 → 导出为菱形 / 等距网格
.tmx。Tiled 会识别等距排列。 - 六边形地图 → 导出为六边形网格
.tmx(edge-to-edge 或 pointy-top,根据你在 Resprite 里的设置)。
如果一张 Resprite 文档里同时包含不同网格类型的瓦片图层(比如一个矩形地面层 + 一个六边形装饰层),导出时会拆成多个 .tmx——每种网格类型对应一个 .tmx。
瓦片命名
导出时 Resprite 会给瓦片自动命名,格式一般是 tile_行列号 或 tile_序号。如果你的瓦片集里已经给瓦片起了名字(Resprite 瓦片编辑器里支持),导出时会保留这些名字。
导入 Tiled 地图
导入 .tmx 后,Resprite 会:
- 解析
.tmx里引用的.tsx瓦片集。 - 把瓦片集 PNG 图片导入 Resprite。
- 按
.tmx里的层信息重建瓦片图层。 - 把瓦片引用关系恢复。
导入后的地图可以继续在 Resprite 里编辑(加瓦片、改地形规则),也可以继续导出回 .tmx。
与游戏引擎的衔接
Resprite → Tiled → 游戏引擎的工作流:
Resprite 画瓦片地图 → 导出 .tmx/.tsx
↓
Tiled 里打开 → 加碰撞层 / 对象层 / 关卡元数据
↓
游戏引擎(Unity / Godot / Cocos)→ 导入 Tiled 文件 → 运行时渲染
这比"Resprite 画瓦片地图 → 截图存为 PNG → 导入引擎 → 手动重新摆瓦片"要高效得多,也能保留瓦片引用关系(比如引擎里可以根据瓦片 ID 自动配置碰撞、脚本触发等)。
边界提示
- 瓦片图层里的动画瓦片导入导出时会被保留。
- 多层叠加(地面层 + 装饰层 + 道路层)会被保留为 Tiled 里的多层。
- Resprite 特有功能(比如瓦片编辑器里的元数据)导出为
.tmx时不会丢失,但导入回 Resprite 时可能需要重新配对。 - 图片资源(瓦片集 PNG)导出 ZIP 后路径是相对
.tmx的,解压后保持目录结构即可。
功能可能随版本变化,以官方最新版为准。Tiled 互通从 DA v1.32.0 / iOS R59 开始提供。