最新的OGF 0.8.1版,已修正上一版已知的BUG,并加入了更多的功能。另外,已在此版本的基礎上,開發了一個休閑游戲,已證明該框架的可行性,穩定性方面仍需后期的使用反饋才能能到確認。(記得以前提及會用一個游戲來逐步講解使用OGF開發游戲的過程,所以游戲的代碼可繼續關注我的BLOG,將會陸續放出)
Fix bug:
1、計時器檢測釋放時有效判斷的BUG,將會導致后繼的計時器事件不能執行或內存不釋放
2、計時器和動作器增強了對同一ID的檢查,新版可通過設定是否檢測已存ID來開啟/禁用同ID的事件
3、更正GameObjectFont的重載BUG,原因是1。6版的HGE Font的重載方法有問題
4、修正GameLayouter內Parse函數中執行pParentNode->Value();有時會拋出錯誤,已改為先判斷pParentNode是否為空
5、修正上一版本的鍵盤、鼠標消息處理的一些BUG
Functions
1、GameFrame增加了CSoundHelper的協調類,暫時可播放/停止多個音樂文件,支持wam/mp1/mp2/mp3
2、GameFrame增加了CPropertiesManager的管理類,提供一個開放性框架讓用戶加方便使用道具系統
3、GameFrame增加了IGameProperties接口,方便自行擴展道具
4、增加了ObjectCom對象發送控件消息至窗口,如:滾動條的滾動、文本框的改變等等
5、增強了GameFrame的消息處理,現可重載GameBody的OnWindowMsgProce方法,攔截所有消息
Change
1、為考慮OGF會接入MFC的可能,將底層的CString類改名為_CString
2、OGF.xml的布局配置文件中,Layer和Object標簽均加入Disabled的屬性,并默認為True,將不允許接收鼠標、鍵盤消息,若需接收則手工配置為False
3、CResource類擴展了對音樂文件的支持,可導入音樂文件由CSoundHelper類使用,并增加了多種ResourceType類型;在CResource構造函數中最后增加了一個變量,以指明資源為何種類型,默認為Resource_Picture(紋理)以和之前版本兼容。
4、CResource類增加了創建紋理及Bitblt的紋理讀寫方法,允許用戶使用HGE更多的高級特性
5、FrameCom與ObjectCom及GameFrame上同時限制了MouseOver/MouseIn/MouseOut/MouseClick的方法,當所在的層/場景/視圖和對象的Disabled為False時才生效
6、GameFrame取消了對ObjectCom傳遞OnMouseUp和OnMouseDown的消息,有需要的話可從OnMouseClick中根據Type來區分,或在GameBody上進行轉發
7、部分鍵盤、鼠標消息的常量改變了
8、鍵盤、鼠標回調方法的參數有所改
9、擴展了OGF.xml的Button、Object的標簽及屬性
10、GameFrame增加了鼠針指針的支持。可以通過m_GameFrameSetting指定鼠標指針圖標的動畫參數
11、tagFrameManagerHandle增加了額外的pIPropertiesManager和pSoundHelper管理指針
12、現已改為支持HGE 1.8版本。
Future
1、中文字庫支持。字庫創建的工具已基本完成,可選字體、字號及粘貼一段文本后自動抽取唯一字;待加入OGF系統框架;(作者:Ben)
2、可視化的時間幀編輯器。(作者:Randy)
3、可視化的布局編輯器。(作者:C&C++)
4、框架文檔化。(William)
OGF 0.8.1.0版下載:
/Files/lwq49/GameFrame0.8.1.0.rarHGE 1.8相關更新文件:
/Files/lwq49/hge18.rar HGE 1.8更新步驟
1、將include目錄中所有.h文件拷貝并覆蓋./Commond/include目錄下的文件
2、將lib目錄中所有.lib文件拷貝并覆蓋./lib目錄下的文件
3、將heg.dll,bass.dll兩個文件拷貝并覆蓋運行目錄下的相應文件