HGE游戏引擎是一个开源2D游戏引擎,基于directX。
它的渲染及逻辑是基于帧回调的框架模式,
其提供一些基本的图像操作和输入控制功能。
我在之前写一个2D游戏的时候对它整个框架进行了一次封装,很多地方写得比较恶心,请原谅我在变量上命名的不规范。
在此分享出来,主要可以参考一下大体框架吧。
HGE游戏引擎基于帧的回调让我很不爽,因为咱的游戏逻辑一般是连续的,跟具体帧无关,所以我把整个HGE跑在自己的一个线程之中。我的游戏逻辑部分通过发消息,通知界面更新 以及获取用户输入。
在HGE的主框架下分四个部分
1. 资源管理 2.消息管理 3.声音管理 4.UI管理
下面是GDE_UI_HGEFramework.h
比较核心的是资源管理类,下面给出
GDE_UI_ResourceManager.h
GDE_UI_ResourceManager.cpp
比较重要的是消息传递机制,我仿照了MFC的消息宏定义机制,下面给出消息模块的核心代码
最后是整个HGE引擎启动的方式
GDE_UI_HGE.h
游戏初始化的时候
//创建hge线程
hge_thread = CreateThread( NULL, 0,
HGEThreadProc, NULL, 0, NULL );
就可以了