游戏开发中的状态机与状态模式

最近在做人物相关的行为逻辑控制,在做的时候就发现了很多问题,举个例子,目前我有一个人物,他有下面几种能力:

  1. 移动:需要监控 wasd 来移动人物,并且移动的时候需要播放对应的动画
  2. 攻击:按下攻击按键会进行攻击,在攻击时会播放攻击动画,此时不能移动、也不能施法
  3. 施法:按下施法按键后会播放施法动画,施法过程中不能进行攻击、也不能移动
  4. 闲置:播放闲置动画