本系列笔记转载自游戏蛮牛专栏作家Jackel的论坛文章,详细介绍了FSM的创建与使用,特与众分享。链接:http://www.manew.com/thread-37136-1-1.html
相信看到这篇文章的同学相比已经了解何为状态机了,我们就默认大家对状态机这个名词了解的基础上,一篇一篇揭开Jackel的教程
1、FSM类图
二、FSM类说明
1、IState类
该类是一个接口抽象类,主要是定义了状态机的接口。包含:OnEnter、OnExit、OnUpdate三个函数。分别是进入状态、停止状态、更新状态
2、FSState类
该类主要是状态的基本操作以及事件的添加,定义了FiniteStateMachine的三个委托。
3、FiniteStateMachine类
该类主要的作用是对于外界的调用,独立封装。提供一个栈,用于存放FSState,通过Update进行状态的切换。Pop和Push方法完成对栈的管理及状态的注册。声明了三个重要的方法,并在FSState类中定义。
4、FSEvent类
该类主要处理事件响应,定义有限状态机的状态,触发事件
5、Dispatcher类
该类主要是事件系统的处理,实现事件的注册、触发、分发,提供接口对外使用。使用了大量的魔板函数。
下一篇介绍下第一个类IState。