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

框架測試demo的截圖:
