OGRE本身帶了一個Example框架,用來做練習還可以,但做具體的程序(游戲)就不太好用。根據Ogre的組成以及游戲的狀態,我做了一個框架(主要是為了學習:)), 正在完善中……還希望大家多多提出寶貴建議。
先看系統的
靜態結構:
CGfxEngine:封裝了Ogre的主要組件
CGUIEngine:封裝了CEGUI的主要組件
CGameState:游戲的各個狀態,由CStateManager統一管理。
消息的分發:
一條路徑是按照Ogre設定順序,Message到了CGameState,主要是處理Key和Mouse消息。
另一條直接到達CGameState,用來更新狀態
狀態的轉移:下面的示例以菜單狀態到主狀態,以及主狀態返回菜單狀態為例:

框架測試demo的截圖:
