这个是我之前做的一个2D游戏(未完成)中的一部分,
实现的整个游戏的状态机引擎部分框架,在此分享一下我的代码。
众所周知,一个游戏(或者一个应用程序),我们都可以把各部分界面切分为不同的状态,然后整个系统过程就是一个有限状态机。
我这里做的工作就是实现这个状态机框架以及具体的调度过程。
游戏主引擎类头文件
实现的核心部分代码
对于每一个状态处理器,我定义了一个基类,必须实现状态处理过程,以及反馈给游戏引擎处理结果。
如下面定义的GDE_GameEngineHelper
这样通过整个游戏引擎 可以调度所有状态,状态又反馈给引擎需要调度的新状态,实现整个状态机。
very simple,isn't it?