我自己做后端开发。但看看 gamedev 就变得很有趣。我看到开发人员经常使用FSM模式。这种模式的概念我很清楚,但有一点我仍然无法理解。 FSM 的一个重要点是只有一个状态可以是活动的。在我遇到的所有材料中,给出了一个简单的状态示例。例如,玩家可以处于空闲状态(IdleState)、跳跃状态(JumpState)和奔跑状态(RunState)。这里一切都很清楚。如果我们在玩家攻击时添加一个状态(AttackState)会怎么样?玩家可以跳跃攻击,也可以奔跑攻击。但多个州不能同时活跃。请告诉我在这种情况下正确的做法是什么?如果可能的话,我很高兴能提供有关密克罗尼西亚联邦的解释材料的链接,最好是俄语的。
UPD:或者对于这种情况,您是否需要有多个单独的 FSM?例如,玩家可以拥有一个包含状态(空闲、运行、跳跃)的 MovementFSM,以及一个包含诸如(攻击、防御)等状态的 CombatFSM?