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>
This commit is contained in:
2026-06-16 15:30:58 +08:00
parent cba5105908
commit d393302388
6248 changed files with 17322729 additions and 11036 deletions

View File

@@ -7,69 +7,47 @@ Unity「主站」移植工程**Cocos Creator 3.8.8** + **Web**API 与 `uni
| 项 | 状态 |
|----|------|
| 核心玩法 / JS 桥 | ✅ |
| Unity Levels600600 关) | ✅ 已导出 |
| 关卡数据库(当前 5 关) | ✅ `levels-database.json` |
| 丝路主题 Sprite | ✅ player/ship/coin/tile |
| 主站 Web 对接模板 | ✅ `web-template/` |
## 快速开始
1. Cocos Creator 3.8.8 打开本目录
2. 新建场景 → 空节点挂 **AppBootstrap** → 存 `assets/scenes/main.scene` → 设为启动场景
3. 播放预览
2. 打开 `assets/scenes/main.scene`(或新建场景,空节点挂 **AppBootstrap**
3. **资源管理器** 刷新,确认存在 `assets/resources/level/levels-database.json`
4. 播放预览 → 画面顶部 **「切换关卡」** 或 Inspector **SwitchLevel**
## 关卡
## 关卡数据库(单一文件)
- **600 关**`assets/scripts/level/levels-600.generated.ts`(由 `tools/export_unity_levels.py` 生成)
- 注册入口:`assets/scripts/level/LevelRegistry.ts`
- 重新导出:
| 文件 | 说明 |
|------|------|
| [`assets/resources/level/levels-database.json`](assets/resources/level/levels-database.json) | **全部关卡**(增删查改) |
| [`assets/scripts/level/LevelDatabase.ts`](assets/scripts/level/LevelDatabase.ts) | 加载 / CRUD API |
| [`tools/levels-database.md`](tools/levels-database.md) | 维护说明 |
每条关卡:
- `spawns``boundary` ← Unity `Levels*.cs`
- `ground``border``Assets/Prefabs/Level/LevelN.prefab` Tilemap与原版地图一致
- `unityPrefab` ← 原资源路径(对照用)
### 从 Unity 重新导出
```bash
python3 tools/export_unity_levels.py \
--input "/path/to/Unity/Assets/Scripts/Core/Levels600.cs" \
--output assets/scripts/level/levels-600.generated.ts
# 或
bash tools/export_all.sh "/path/to/Unity项目"
python3 tools/export_all_levels.py \
--unity-root "/path/to/主站" \
--output assets/resources/level/levels-database.json
```
## 贴图资源
## 贴图
已复制至 `assets/resources/textures/`(需在编辑器中刷新资源):
`assets/resources/textures/silu/``ui/` — 见 `VisualAssets.ts`
- `silu/player_F.png`, `player_B.png`, `ship_F.png`, `ship_B.png`, `Baseblock.png`
- `ui/coin.png`, `ui/bg.png`
## 主站 Web
加载逻辑:`assets/scripts/visual/VisualAssets.ts`
## 主站 Web 联调
1. **构建发布** → Web Desktop → 得到 `build/web-desktop/`
2. 阅读 [`web-template/主站对接说明.md`](web-template/主站对接说明.md)
3. 使用 [`web-template/main-site.html`](web-template/main-site.html) + [`cocos-bridge.js`](web-template/cocos-bridge.js) 联调
```javascript
// 与 Unity 完全相同
unityInstance.SendMessage("GameController", "SwitchLevel", 21);
unityInstance.SendMessage("Player", "CallMove", 2);
unityInstance.SendMessage("Player", "CallPlayerInfo");
```
## 目录
```
assets/scripts/ 游戏逻辑
assets/resources/ 贴图Sprite
assets/scripts/level/levels-600.generated.ts
web-template/ 主站对接
tools/ 关卡导出脚本
```
见 [`web-template/主站对接说明.md`](web-template/主站对接说明.md)
## 源项目
`/Users/liuyufei/tfrh/主站文件/主站`
## 后续
- 运行 `tools/export_all.sh` 导出 Levels1000、Levels10000 等
- 将 Unity 动画改为 Cocos Animation / Spine
- 用 Tiled 导出真实地块填充 `LevelConfig.ground`