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
+22 -2
View File
@@ -72,10 +72,28 @@ tools/map_editor/
├─ index.html
├─ styles.css
├─ app.js
├─ server.js
└─ README.md
```
本地运行:
推荐本地运行:
```powershell
node tools/map_editor/server.js
```
打开:
```text
http://127.0.0.1:8787/tools/map_editor/
```
这种模式下支持顶部 `保存``一键部署`
- `保存`:写入 `game/assets/map/stage_01.map`
- `一键部署`:写入项目资源目录,并同步到已存在的 PC/Switch build 资源目录。
只需要下载 `.map` 时,也可以使用普通静态服务:
```powershell
python -m http.server 8787
@@ -101,6 +119,8 @@ http://127.0.0.1:8787/tools/map_editor/
- 支持撤回最近编辑操作,包含新增、删除、拖动、缩放、属性修改、导入图形和图层移动。
- 支持 `Ctrl+Z` 快捷撤回。
- 支持保存并下载 `.map` 文本。
- 使用 `server.js` 启动时,支持直接保存到项目资源目录。
- 使用 `server.js` 启动时,支持一键部署到项目资源目录和已存在的 PC/Switch build 资源目录。
- 支持选择图层或图层内对象后,对对应图层上移/下移;预览和导出都按当前 `.map` 图层顺序处理。
- 通过“导入图形”创建 `rect_sprite`,并自动追加一个同坐标、同尺寸的 `collision`
- 导入图形在当前浏览器会话内支持图片预览;图形移动和缩放时,同步更新绑定碰撞块。
@@ -109,7 +129,7 @@ http://127.0.0.1:8787/tools/map_editor/
- 重新打开 `.map` 时,如果 `rect_sprite` 与某个 `collision` 坐标尺寸一致,编辑器会自动恢复二者的编辑绑定。
- 导出兼容 `StageMapLoader``.map` 文本。
浏览器安全限制下,纯静态网页不能直接覆盖本地源文件;当前通过“保存并下载”导出 `.map`后续部署到服务器时,可以增加一个保存接口,把编辑器导出的文本写回服务端文件或数据库
浏览器安全限制下,纯静态网页不能直接覆盖本地源文件;当前通过“保存并下载”导出 `.map`本地开发时可通过 `tools/map_editor/server.js` 启动带写入 API 的服务,直接写回项目文件和已有 build 资源目录
## 数据边界