OGRE本身带了一个Example框架,用来做练习还可以,但做具体的程序(游戏)就不太好用。根据Ogre的组成以及游戏的状态,我做了一个框架(主要是为了学习:)), 正在完善中……还希望大家多多提出宝贵建议。
先看系统的
静态结构:
CGfxEngine:封装了Ogre的主要组件
CGUIEngine:封装了CEGUI的主要组件
CGameState:游戏的各个状态,由CStateManager统一管理。
消息的分发:
一条路径是按照Ogre设定顺序,Message到了CGameState,主要是处理Key和Mouse消息。
另一条直接到达CGameState,用来更新状态
状态的转移:下面的示例以菜单状态到主状态,以及主状态返回菜单状态为例:
框架测试demo的截图: