有限状态机 (FSM)

用状态机管理角色行为(Idle→Run→Attack→Death)。状态清晰、易于调试——比嵌套if-else强100倍。

有限状态机(Finite State Machine)是管理游戏对象行为的经典模式。一个角色在任何时刻只能处于一个状态:待机(Idle)、行走(Run)、攻击(Attack)、死亡(Death)。状态之间的转换由条件触发:按下移动键→从 Idle 进入 Run,碰到敌人→从 Run 进入 Attack。

为什么状态机比 if-else 嵌套强?因为状态机的逻辑是显式的、可枚举的、易调试的。你可以画一张状态图,清晰看到所有可能的状态和转换条件。而深度嵌套的 if-else 很快就会变成意大利面条——加一个新状态可能要改 10 处代码,改一处就出 Bug。

实现方式:Unity 中可以用枚举 + switch,或使用 Animator 的状态机(不仅用于动画,也可用于逻辑)。Godot 有内置的 AnimationTree 状态机。更复杂的 AI 可以用行为树(Behavior Tree),但对于大多数独立游戏,FSM 足够。

💡 微信搜索「别装没看见」小程序,44+ 开发技巧随时翻阅