Add player camera controller

This commit is contained in:
2026-06-09 14:11:12 +08:00
parent 8a89346978
commit 47936abed0
6 changed files with 156 additions and 26 deletions
+10 -10
View File
@@ -148,6 +148,7 @@ mindmap
已有:
- `scene/whitebox_scene.*`
- `scene/camera_controller.*`:玩家跟随、dead zone、平滑和世界边界 clamp。
下一步:
@@ -408,16 +409,15 @@ mindmap
下一步建议按这个顺序做:
1. `CameraController`:修复摄像机不会跟随的问题,实现跟随、边界 clamp、dead zone 和平滑参数
2. `CameraZoneLock`:让 battle zone 可以临时锁定摄像机范围,清场后恢复跟随
3. `StageLayerSource` `StageLayer` 同时支持色块占位和 sprite 资源路径
4. `StageAssetSlots`:建立 `stage_01` 资源槽位和素材来源记录,做到素材可直接落位
5. `StageProps`:把后景/前景 props 统一到 layer 数据
6. `BattleZone`:在现有 zone 数据上做触发、锁镜头、清场解锁
7. `EnemyActor`:做第一个敌人占位,接入出生点
8. `CombatSystem`:把 hitbox/hurtbox 真正跑起来
9. `SpriteAnimator`:把玩家动画从硬编码改成组件
10. `InputConfig`:把默认键位/手柄映射迁移到可配置数据。
1. `CameraZoneLock`:让 battle zone 可以临时锁定摄像机范围,清场后恢复跟随
2. `StageLayerSource`:让 `StageLayer` 同时支持色块占位和 sprite 资源路径
3. `StageAssetSlots`建立 `stage_01` 资源槽位和素材来源记录,做到素材可直接落位
4. `StageProps`:把后景/前景 props 统一到 layer 数据
5. `BattleZone`:在现有 zone 数据上做触发、锁镜头、清场解锁
6. `EnemyActor`:做第一个敌人占位,接入出生点
7. `CombatSystem`:把 hitbox/hurtbox 真正跑起来
8. `SpriteAnimator`:把玩家动画从硬编码改成组件
9. `InputConfig`:把默认键位/手柄映射迁移到可配置数据
## 素材协作提示
+2 -1
View File
@@ -21,6 +21,7 @@
- `StageRenderer` 已支持远景、中景、地面/平台、后景 props 分层绘制,当前先用色块占位。
- `DebugOverlay` 已能显示碰撞、玩家框、battle zone、camera lock 范围和 spawn point。
- `WhiteboxScene` 已支持 `F1` 切换 debug overlay。
- `CameraController` 已接入:修复场景 `OnUpdate()` 不被调用导致摄像机不动的问题,并提供跟随、dead zone、平滑和世界边界 clamp。
## 2. 第一关场景目标
@@ -248,7 +249,7 @@ game/assets/stage/stage_01/
### 场景骨架实施顺序
1. `CameraController`修复当前摄像机不会动的问题,实现玩家跟随、边界 clamp、dead zone 和平滑参数。
1. 已完成:`CameraController` 修复当前摄像机不会动的问题,实现玩家跟随、边界 clamp、dead zone 和平滑参数。
2. `CameraZoneLock`:让 battle zone 可以锁定摄像机范围,先只做 debug 触发和解锁占位。
3. `StageLayerSource`:扩展 `StageLayer`,让每个 rect 支持色块占位或 sprite 资源路径。
4. `StageAssetSlots`:创建并记录 `stage_01` 资源槽位,不要求已有最终素材。