Split stage rendering and debug overlay

This commit is contained in:
2026-06-09 00:39:15 +08:00
parent ce815ed58b
commit cc75b94c44
9 changed files with 199 additions and 47 deletions
+17 -2
View File
@@ -17,8 +17,10 @@ game/
├─ combat/ 碰撞箱、伤害判定和战斗解算类型
├─ core/ 共享配置、输入快照和资源路径
├─ data/ 关卡和游戏数据定义
├─ debug/ 调试可视化叠层
├─ movement/ 可复用的移动和碰撞辅助工具
├─ scene/ 游戏场景和关卡编排
├─ stage/ 关卡视觉层渲染
└─ main.cpp 游戏可执行文件入口点
```
@@ -37,7 +39,9 @@ main.cpp
-> PlayerActor 通过 PlatformMover 移动
-> PlayerActor 更新动画
-> WhiteboxScene 更新摄像机
-> WhiteboxScene 绘制白盒关卡
-> StageRenderer 绘制关卡视觉层
-> Actor 渲染
-> DebugOverlay 绘制调试叠层
```
## 模块职责
@@ -47,6 +51,7 @@ main.cpp
- `game_config.h` 存储共享的调整常数,如虚拟分辨率、
重力、玩家速度和攻击持续时间
- `asset_paths.h` 存储稳定的运行时资源路径
- `debug_flags.h` 集中控制开发期调试显示开关
- `input_state.*` 将原始 SDL 键盘状态转换为与引擎无关的
`InputState` 快照。玩家逻辑使用此快照而不是直接读取
SDL
@@ -74,7 +79,17 @@ main.cpp
`scene`
- `WhiteboxScene` 编排当前关卡:加载关卡数据、创建
角色、绘制白盒几何和控制摄像机
角色、委托关卡渲染、委托调试叠层并控制摄像机
`stage`
- `StageRenderer` 绘制当前关卡视觉层,包括背景、网格、白盒道具和平台
- 后续 tileset、视差背景和 props 渲染都应该优先接入该模块
`debug`
- `DebugOverlay` 绘制碰撞矩形和玩家包围盒
- `DebugFlags` 决定哪些调试层启用
`combat`