Files
NS_unknown_game/game/docs/modules/movement_collision.md
T
2026-06-09 23:11:08 +08:00

1.0 KiB
Raw Blame History

Movement and Collision

职责

移动碰撞模块负责横版基础移动和平台碰撞,是玩家、敌人和可移动物体共用的底层玩法能力。

主要源码:

  • game/src/movement/platform_world.*
  • game/src/data/level_definition.h
  • game/src/actor/player_actor.*

当前能力

  • 地面和平台矩形碰撞。
  • 重力。
  • 水平移动。
  • 落地检测。
  • 防止玩家穿过平台。
  • 平台数据来自 LevelDefinition::collision

当前使用方式

WhiteboxScene 把关卡碰撞世界传给 PlayerActor

LevelDefinition.collision -> PlayerActor::SetMovementWorld()

PlayerActor 只提交移动意图,最终位置由 PlatformMover 约束。

约束

  • 碰撞数据和视觉数据分离。
  • 不让 StageRenderer 反推碰撞。
  • 后续敌人也应复用 PlatformWorld,不要另写一套地形碰撞。

下一步

  • 增加墙体/左右边界碰撞语义。
  • 增加防卡地形和异常状态重置。
  • 扩展成可服务敌人 AI 的移动查询接口。