传奇之家 - 传奇开区一条龙服务网站

当前位置:传奇之家 > 传奇引擎 > HGE引擎 > > 详细页面

认识HGE游戏引擎说明书

认识HGE游戏引擎说明书

认识HGE游戏引擎说明书

作者:传奇之家类别:HGE引擎

更新:2022-04-18查看次数:70

HGE全称Haaf’s Game Engine,是一个C++开发的2D游戏引擎,基于DirectX 8,最新的版本支持DirectX 9。


最后一个版本是1.81版本,发布于2008年,也就是十一年前,是的,这个项目已经不再维护了。


我是通过《传奇》这款游戏认识它的,我不清楚盛大官方的客户端是否用到了HGE,但我肯定有些私服客户端是基于它开发的。



虽然它是用C++开发的,但是其生成的dll接口文件是可以供其他语言调用的。看一个小例子


#include "pch.h"

#include <hge.h>

#include <hgesprite.h>


#pragma comment(lib, "hge")

#pragma comment(lib, "hgehelpers")


HGE* hge = nullptr;

hgeSprite* back = nullptr;

HTEXTURE backtex;


bool FrameFunc()

{

if (hge->Input_GetKeyState(HGEK_ESCAPE))

return true;


return false;

}


bool RenderFunc()

{

hge->Gfx_BeginScene();

back->Render(0, 0);

hge->Gfx_EndScene();

return false;

}


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

hge = hgeCreate(HGE_VERSION);

hge->System_SetState(HGE_SHOWSPLASH, false);

hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);

hge->System_SetState(HGE_RENDERFUNC, RenderFunc);

hge->System_SetState(HGE_SCREENWIDTH, 800);

hge->System_SetState(HGE_SCREENHEIGHT, 600);

hge->System_SetState(HGE_WINDOWED, true);

hge->System_SetState(HGE_USESOUND, false);


if (hge->System_Initiate()) {

backtex = hge->Texture_Load("background.jpg");

back = new hgeSprite(backtex, 0, 0, 800, 600);

hge->System_Start();

}


delete back;

hge->Texture_Free(backtex);;

hge->System_Shutdown();

hge->Release();

return 0;

}


开始创建一个全局的引擎实例并设置一些基本参数,然后加载纹理图片,创建一个精灵,最后渲染,就这么简单。

————————————————