1.在游戏开发过程中,涉及到复杂的状态切换时,可以运用状态模式以及状态机来高效地完成任务。
2.有限状态机的实现方式,有两种
用枚举配合switch case语句。
用多态与虚函数(即状态模式)面向对象。
3.状态模式的经典定义:允许对象在当内部状态改变时改变其行为,就好像此对象改变了自己的类一样。
4.对状态模式的理解:状态模式用来解决当控制一个对象状态转换的条件表达式过于复杂的情况,它把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。
5.状态模式的实现分为三个要点:
为状态定义一个接口。
为每个状态定义一个类。
恰当地进行状态委托。
6.通常来说,状态模式中状态对象的存放有两种实现存放的思路:
静态状态。初始化时把所有可能的状态都new好,状态切换时通过赋值改变当前的状态。
实例化状态。每次切换状态时动态new出新的状态。