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

1.0 KiB

Combat

职责

战斗模块负责攻击、命中、受击、伤害、击退和状态互斥。当前只做了最小预留,还未进入正式玩法实现。

主要源码:

  • game/src/combat/hitbox.h
  • game/src/actor/player_actor.*

当前状态

已有:

  • 玩家攻击输入。
  • punch 动画状态。
  • 攻击音效 cue。
  • hitbox.h 预留。

未完成:

  • 攻击 hitbox。
  • hurtbox。
  • 命中检测。
  • 伤害数值。
  • 受击硬直。
  • 击退。
  • 血量。
  • 怪物受击和死亡。

后续拆分建议

优先保持轻量,不急着做复杂战斗框架:

  • HitboxComponent:攻击框、受击框。
  • CombatStats:血量、伤害、防御等固定数值。
  • CombatResolver:命中判定和伤害结算。
  • HitReaction:硬直、击退、受伤状态。

接入顺序

  1. 从玩家 punch 状态产生一帧或多帧 hitbox。
  2. DebugOverlay 显示 hitbox/hurtbox。
  3. 新增一个最小 EnemyActor
  4. 完成玩家攻击命中敌人的闭环。
  5. 再接 battle zone 清场。