Build first scene skeleton

This commit is contained in:
2026-06-09 13:56:30 +08:00
parent 3c5a4968ba
commit 51f1bdd166
11 changed files with 270 additions and 44 deletions
+12 -15
View File
@@ -168,12 +168,14 @@ mindmap
- `data/whitebox_level.cpp`
- `movement/platform_world.*`
- `stage/stage_renderer.*`
- `StageLayer` 灰盒数据已接入:远景、中景、地面/平台、后景 props 先用色块占位。
- 第一关宽度已扩展到 3200 像素,并加入 3 个 battle zone 占位与敌人出生点。
下一步:
- 增加 `StageLayer` 数据结构
- 关卡宽度扩展到 2400 到 3200 像素
- 引入远景/中景/地面三层绘制
- `StageLayer` 色块替换为 tileset、背景图和 props 素材
- 将 battle zone 占位升级为触发、锁镜头、清场解锁逻辑
- 将敌人出生点接入 `EnemyActor`
### 4. Actor
@@ -297,9 +299,7 @@ mindmap
- `debug/debug_overlay.*` 已经提供碰撞和玩家包围盒绘制。
- `F1` 切换 debug overlay。
- 绘制平台碰撞。
- 绘制 battle zone。
- 绘制 spawn point。
- 绘制平台碰撞、battle zone、camera lock 和 spawn point
- 绘制 hitbox / hurtbox。
- 输出当前场景、角色状态、FPS。
@@ -408,15 +408,12 @@ mindmap
下一步建议按这个顺序做:
1. `StageLayer`:把白盒视觉层扩展为背景、地面、平台和 props。
2. `LevelDefinition`补齐世界尺寸、玩家出生点、镜头限制、敌人出生点和 battle zone 数据
3. `StageRenderer`:支持远景/中景/地面/props 分层绘制,先用色块或占位图也可以
4. `SceneDebug`:显示碰撞、出生点、battle zone、镜头锁定范围,补 `F1` 开关
5. `BattleZone`:在场景数据稳定后做触发、锁镜头、清场解锁
6. `EnemyActor`:做第一个敌人占位,接入出生点
7. `CombatSystem`:把 hitbox/hurtbox 真正跑起来。
8. `SpriteAnimator`:把玩家动画从硬编码改成组件。
9. `InputConfig`:把默认键位/手柄映射迁移到可配置数据。
1. `StageAssets`:把灰盒 `StageLayer` 替换为 `stage_01` 背景、tiles 和 props 素材
2. `BattleZone`在现有 zone 数据上做触发、锁镜头、清场解锁
3. `EnemyActor`:做第一个敌人占位,接入出生点
4. `CombatSystem`:把 hitbox/hurtbox 真正跑起来
5. `SpriteAnimator`:把玩家动画从硬编码改成组件
6. `InputConfig`:把默认键位/手柄映射迁移到可配置数据
## 素材协作提示
+17 -11
View File
@@ -14,6 +14,14 @@
当前白盒只解决“能跑、能跳、能看到关卡结构”。下一步要把场景拆成数据层、视觉层和玩法层。
第一轮场景骨架进度:
- `LevelDefinition` 已扩展世界尺寸、玩家出生点、镜头范围、分层视觉、battle zone 和敌人出生点数据。
- 第一关灰盒宽度已扩展到 3200 像素。
- `StageRenderer` 已支持远景、中景、地面/平台、后景 props 分层绘制,当前先用色块占位。
- `DebugOverlay` 已能显示碰撞、玩家框、battle zone、camera lock 范围和 spawn point。
- `WhiteboxScene` 已支持 `F1` 切换 debug overlay。
## 2. 第一关场景目标
第一关不急着做最终题材,先做通用 ACT 测试关:
@@ -205,12 +213,12 @@ game/assets/stage/stage_01/
### 先做工程骨架
1. 扩展 `LevelDefinition`加入世界尺寸、玩家出生点、镜头限制、敌人出生点、battle zone 占位数据。
2. 扩展 `StageRenderer`支持背景层、地面/平台视觉层、后景 props,第一版可以继续用色块。
3. 扩展白盒关卡宽度到 2400 到 3200 像素,并整理成 3 段推进节奏。
4. 加入 3 个 battle zone debug 标记,但暂不做锁镜头和刷敌逻辑。
5. 加入 spawn point debug 标记,用于后续接 `EnemyActor`
6.`F1` debug 开关,至少能切换碰撞、battle zone、spawn point。
1. 已完成:扩展 `LevelDefinition`加入世界尺寸、玩家出生点、镜头限制、敌人出生点、battle zone 占位数据。
2. 已完成:扩展 `StageRenderer`支持背景层、地面/平台视觉层、后景 props,第一版继续用色块。
3. 已完成:扩展白盒关卡宽度到 3200 像素,并整理成 3 段推进节奏。
4. 已完成:加入 3 个 battle zone debug 标记,但暂不做锁镜头和刷敌逻辑。
5. 已完成:加入 spawn point debug 标记,用于后续接 `EnemyActor`
6. 已完成:`F1` debug 开关,切换碰撞、battle zone、spawn point。
### 素材回来后再替换
@@ -225,8 +233,6 @@ game/assets/stage/stage_01/
下一轮优先做:
- 扩展 `LevelDefinition`
- 扩展 `StageRenderer`
- 将第一关扩到 2400 到 3200 像素
- 加入 battle zone / spawn point debug 数据。
- 保留 debug 碰撞显示。
- 如果素材已准备:创建 `game/assets/stage/stage_01/`,接入背景、tiles 和 props,替换灰盒色块
- 如果素材未准备:先做 `BattleZone` 运行时逻辑,让现有 debug zone 可以触发、锁镜头、清场解锁
- 保持 debug 碰撞、battle zone、spawn point 显示可用