1.0 KiB
1.0 KiB
Movement and Collision
职责
移动碰撞模块负责横版基础移动和平台碰撞,是玩家、敌人和可移动物体共用的底层玩法能力。
主要源码:
game/src/movement/platform_world.*game/src/data/level_definition.hgame/src/actor/player_actor.*
当前能力
- 地面和平台矩形碰撞。
- 重力。
- 水平移动。
- 落地检测。
- 防止玩家穿过平台。
- 平台数据来自
LevelDefinition::collision。
当前使用方式
WhiteboxScene 把关卡碰撞世界传给 PlayerActor:
LevelDefinition.collision -> PlayerActor::SetMovementWorld()
PlayerActor 只提交移动意图,最终位置由 PlatformMover 约束。
约束
- 碰撞数据和视觉数据分离。
- 不让
StageRenderer反推碰撞。 - 后续敌人也应复用
PlatformWorld,不要另写一套地形碰撞。
下一步
- 增加墙体/左右边界碰撞语义。
- 增加防卡地形和异常状态重置。
- 扩展成可服务敌人 AI 的移动查询接口。