Files
刘宇飞 d393302388 Complete Cocos Creator port with level bundles, themes, and tooling.
Adds level prefabs, theme assets, audio, extensions, and deployment scripts for the Unity WebGL migration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 15:30:58 +08:00

64 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 关卡地图编辑level-map-editor
对齐 Unity **平铺调色板Tile Palette**:中间为关卡等距网格,右侧为可绘制的主题瓦片。
## 打开方式
1. 扩展管理器中启用本扩展,点击 **刷新**(版本应为 1.0.3
2. 顶部菜单任选其一:
- **面板 → level-map-editor → 关卡地图编辑**(推荐)
- **扩展 → 关卡地图编辑**
3. 控制台应出现 `[level-map-editor] extension loaded``Panel.open`
4. 若仍无窗口:关闭扩展 → 再开启 → 或重启 Creator
## 使用步骤
1. **调色板** 下拉选择主题(如 `sanxing` 三星堆)
2.**新建**(自动分配下一个关卡 ID`91601` 起,与 Unity / 主站 `BEGINNING_REAL_LVID=91601` 对齐)
- 或输入已有 **关卡 ID****加载**
3. 右侧点击瓦片WallBlock / JumpBlock / Baseblock / kuai11 等)
4. 使用工具栏 **画笔 / 框选 / 吸管 / 橡皮擦 / 填充**(快捷键 `B` `R` `I` `E` `F`
5. 选择 **Ground****Border** 层,在中间网格绘制
6. 绘制/改实体后 **自动保存** `levels-database.json`**自动烘焙** `Level{id}.prefab`,同步 `tools/level-prefab-index.json`
7.**资源管理器** 中编辑并 **保存** `Level{id}.prefab` 后,扩展会 **自动回写 JSON** 并刷新本面板(当前关卡 ID 一致时)
8. 需要时 **打开 Level 预制体** 预览,或点 **从预制体同步** 手动触发回写
## 预制体 ↔ JSON 双向同步
| 方向 | 触发 |
|------|------|
| JSON → prefab | 面板改地图后自动烘焙,或点「烘焙预制体」 |
| prefab → JSON | 保存 `level-prefabs/Level{id}.prefab` 后自动导入;或点「从预制体同步」 |
回写内容:`LevelMapData``groundJson` / `borderJson` / `theme`;若 Ground/Border 子节点(`g_x_y` / `b_x_y`)与 JSON 不一致,以 **场景瓦片节点** 为准。`spawns` / `boundary` 仍由关卡控制器维护,不会被 prefab 覆盖。
## 场景内格子吸附
- **GridSnapHelper** 组件(挂在 Level 根节点):拖动瓦片时自动吸附,可显示蓝色参考网格
- 面板 **启用场景吸附助手**:为当前 Level 添加该组件
- 面板 **场景选中吸附**:将场景中已选瓦片立即对齐到格子
- 画布鼠标移动时会 **高亮** 当前吸附格并显示坐标
## 数据与工具
| 路径 | 说明 |
|------|------|
| `assets/resources/level/levels-database.json` | 关卡逻辑数据 |
| `assets/resources/map-tiles/palettes/_index.json` | 主题调色板索引 |
| `assets/resources/level-prefabs/Level91601.prefab` | 烘焙后的关卡预制体ID 与 Unity 一致,首关 91601 |
| `tools/level-prefab-index.json` | 预制体路径索引(烘焙时自动重建) |
| `tools/level_id.py` / `dist/level-id.js` | 关卡 ID 约定91601 首关) |
生成调色板(首次或 Unity 资源更新后):
```bash
python3 tools/build_theme_palettes.py --unity-root "/path/to/主站"
```
详细说明见项目 `tools/level-map-editor.md`
## 平台
- Cocos Creator **3.8.x**
- macOS / Windows 编辑器