46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# 地图编辑器
|
|
|
|
这是一个静态网页地图编辑器,用来编辑游戏使用的 `.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` 文件。
|
|
|
|
## 当前能力
|
|
|
|
- 打开 `.map` 文本文件。
|
|
- 可视化世界范围、摄像机范围、玩家出生点、碰撞块、场景矩形、铺砖区、战斗区和敌人出生点。
|
|
- 从画布或对象列表选择对象。
|
|
- 在画布上拖动对象,支持网格吸附。
|
|
- 通过“编辑目标”过滤画布选择对象,默认优先编辑碰撞块,避免点到重叠的铺砖区。
|
|
- 选中矩形对象后,拖动右下角蓝色手柄可以调整宽高。
|
|
- 编辑选中对象的数值和文本属性。
|
|
- 新增/删除图块集、图层、碰撞块、铺砖区、战斗区和出生点。
|
|
- 下载兼容 `StageMapLoader` 的 `.map` 文本。
|
|
|
|
## 调整碰撞块
|
|
|
|
1. 在左侧“编辑目标”里选择“碰撞块”。
|
|
2. 在画布上点击红色碰撞框,或从对象列表选择对应碰撞块。
|
|
3. 拖动碰撞块本体可以移动位置。
|
|
4. 拖动右下角蓝色手柄可以调整宽高。
|
|
5. 也可以在右侧属性面板直接修改 `X`、`Y`、`W`、`H`。
|
|
|
|
## 当前限制
|
|
|
|
- 浏览器安全限制不允许静态网页直接覆盖本地源文件。当前需要先下载 `.map`,再手动替换项目里的地图文件;部署到服务器后可以增加服务端保存接口。
|
|
- 暂未实现图块集图片预览,铺砖区当前使用 fallback 颜色显示。
|
|
- 暂未实现撤销/重做和多选。
|