Split game module documentation

This commit is contained in:
2026-06-09 23:11:08 +08:00
parent d41f9d1096
commit 0257c8058e
15 changed files with 647 additions and 88 deletions
+42
View File
@@ -0,0 +1,42 @@
# Movement and Collision
## 职责
移动碰撞模块负责横版基础移动和平台碰撞,是玩家、敌人和可移动物体共用的底层玩法能力。
主要源码:
- `game/src/movement/platform_world.*`
- `game/src/data/level_definition.h`
- `game/src/actor/player_actor.*`
## 当前能力
- 地面和平台矩形碰撞。
- 重力。
- 水平移动。
- 落地检测。
- 防止玩家穿过平台。
- 平台数据来自 `LevelDefinition::collision`
## 当前使用方式
`WhiteboxScene` 把关卡碰撞世界传给 `PlayerActor`
```text
LevelDefinition.collision -> PlayerActor::SetMovementWorld()
```
`PlayerActor` 只提交移动意图,最终位置由 `PlatformMover` 约束。
## 约束
- 碰撞数据和视觉数据分离。
- 不让 `StageRenderer` 反推碰撞。
- 后续敌人也应复用 `PlatformWorld`,不要另写一套地形碰撞。
## 下一步
- 增加墙体/左右边界碰撞语义。
- 增加防卡地形和异常状态重置。
- 扩展成可服务敌人 AI 的移动查询接口。