# 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 的移动查询接口。