Add map editor save and deploy actions

This commit is contained in:
2026-06-10 10:45:33 +08:00
parent 57caced672
commit 21f633658c
6 changed files with 309 additions and 12 deletions
+30 -5
View File
@@ -1,6 +1,6 @@
# 地图编辑器
这是一个静态网页地图编辑器,用来编辑游戏使用的 `.map` 文本文件。
这是一个网页地图编辑器,用来编辑游戏使用的 `.map` 文本文件。
完整工具说明见:
@@ -10,10 +10,10 @@ tools/map_editor/DOCUMENTATION.md
## 本地运行
在仓库根目录执行
推荐使用本地可写服务启动
```powershell
python -m http.server 8787
node tools/map_editor/server.js
```
然后打开:
@@ -22,7 +22,25 @@ python -m http.server 8787
http://127.0.0.1:8787/tools/map_editor/
```
从仓库根目录启动静态服务时,编辑器可以自动读取 `game/assets/map/stage_01.map`。也可以通过“打开 .map”选择任意 `.map` 文件。
这种模式下可以使用:
- `保存`:写入 `game/assets/map/stage_01.map`
- `一键部署`:写入项目资源目录,并同步到已存在的 PC/Switch build 资源目录。
- `保存并下载`:仍然下载 `<地图ID>.map`
也可以只用静态服务预览和下载:
```powershell
python -m http.server 8787
```
静态模式下打开地址相同:
```text
http://127.0.0.1:8787/tools/map_editor/
```
从仓库根目录启动服务时,编辑器可以自动读取 `game/assets/map/stage_01.map`。也可以通过“打开 .map”选择任意 `.map` 文件。
## 当前能力
@@ -40,12 +58,19 @@ http://127.0.0.1:8787/tools/map_editor/
- 新增/删除图块集、图层、碰撞块、铺砖区、战斗区和出生点。
- 支持撤回最近编辑操作,也可以使用 `Ctrl+Z`
- 选中图层或图层内对象后,可以把对应图层上移或下移。
- 本地 Node 服务模式下支持保存到项目资源目录。
- 本地 Node 服务模式下支持一键部署到项目资源目录和已存在的 PC/Switch build 资源目录。
- 保存并下载兼容 `StageMapLoader``.map` 文本。
## 保存和撤回
- “保存并下载”会把右侧导出文本下载成 `<地图ID>.map`
- 浏览器安全限制下,静态网页不能直接覆盖本地项目文件;下载后仍需要替换项目里的地图文件
- “保存”会把右侧导出文本写入 `game/assets/map/stage_01.map`,需要使用 `node tools/map_editor/server.js` 启动
- “一键部署”会先保存到项目资源目录,再同步到已存在的 build 资源目录,包含:
- `build/windows/x64/release/assets/map/stage_01.map`
- `build/switch/aarch64/release/switch_game/assets/map/stage_01.map`
- `build/switch/aarch64/release/switch_game/romfs/assets/map/stage_01.map`
- 浏览器安全限制下,普通静态服务不能直接覆盖本地项目文件;这种模式只能下载后手动替换。
- “撤回”会恢复最近一次地图编辑操作,包括新增、删除、拖动、缩放、属性修改、导入图形和图层移动。
- 打开或重新加载 `.map` 会清空撤回历史。