认识HGE游戏引擎

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

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

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

更多详情可以看它的官方网站:http://kvakvs.github.io/hge/

GitHub:https://github.com/kvakvs/hge

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

#include "pch.h"
#include 
#include 

#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;
}

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

认识HGE游戏引擎_第1张图片

另外附上Delphi的版本:https://download.csdn.net/download/aqtata/10958380

你可能感兴趣的:(HGE,HGE)