最新的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两个文件拷贝并覆盖运行目录下的相应文件