Plan complete scene skeleton

This commit is contained in:
2026-06-09 14:01:25 +08:00
parent 51f1bdd166
commit 8a89346978
2 changed files with 43 additions and 10 deletions
+33 -4
View File
@@ -231,8 +231,37 @@ game/assets/stage/stage_01/
## 10. 下一轮建议任务
下一轮优先做:
当前目标调整为:先完成“可直接放素材”的场景骨架,而不是立刻进入素材替换。骨架完成后,素材只需要整理到约定目录并填入 layer/prop/tile 数据,不再改场景主流程。
- 如果素材已准备:创建 `game/assets/stage/stage_01/`,接入背景、tiles 和 props,替换灰盒色块。
- 如果素材未准备:先做 `BattleZone` 运行时逻辑,让现有 debug zone 可以触发、锁镜头、清场解锁。
- 保持 debug 碰撞、battle zone、spawn point 显示可用。
### 完整场景骨架完成定义
完成后应达到:
- 摄像机能跟随玩家横向推进,不再固定在起点视口。
- 摄像机遵守关卡边界,不露出世界外黑边。
- 摄像机能被 battle zone 临时锁定到指定范围,清场后恢复跟随。
- `LevelDefinition` 能表达世界尺寸、玩家出生点、相机边界、碰撞、视觉层、props、battle zone、spawn point。
- `StageRenderer` 能按层绘制远景、中景、地面/平台、后景 props、前景 props,并支持资源图和色块占位两种来源。
- `DebugOverlay` 能显示碰撞、battle zone、camera lock、spawn point、玩家包围盒。
- 关卡灰盒能从起点跑到终点,至少 3 个推进段和 3 个 battle zone 都能被观察到。
- 素材目录、命名、来源记录文件已经准备好,后续放入 PNG 后只改资源引用。
### 场景骨架实施顺序
1. `CameraController`:修复当前摄像机不会动的问题,实现玩家跟随、边界 clamp、dead zone 和平滑参数。
2. `CameraZoneLock`:让 battle zone 可以锁定摄像机范围,先只做 debug 触发和解锁占位。
3. `StageLayerSource`:扩展 `StageLayer`,让每个 rect 支持色块占位或 sprite 资源路径。
4. `StageAssetSlots`:创建并记录 `stage_01` 资源槽位,不要求已有最终素材。
5. `StageProps`:把 props 从旧 `WhiteboxProp` 迁移到统一 layer 数据,支持 back/front 两层。
6. `SceneDebug`:补齐 F1 debug 总开关,并预留分项开关。
7. `SceneAcceptanceRun`PC 和 Switch 都构建通过,PC 能从起点移动到终点并看到相机推进。
### 素材落位标准
素材准备好后只做这些操作:
1. 放入 `game/assets/stage/stage_01/background/``tiles/``props/``effects/`
2.`stage_01_assets` 或后续关卡数据中填写资源路径。
3. 把灰盒 `StageLayer` 的色块替换成 sprite/tile 条目。
4. 对齐视觉块和碰撞块,误差控制在 4 像素以内。
5. 更新素材来源和授权记录。