#include <hge.h> //包含hge头文件 #include <hgesprite.h> HGE* hge = 0; //创建一个指向hge类的指针 hgeSprite*spr; HEFFECT snd; HTEXTURE hTex; bool RenderFunc() //绘制函数,程序开始后不停的调用它 { static int _x = 400; static int _y = 300; static int speedx = 1; static int speedy = 1; if (_x <= 0 || (_x+136) >=800) speedx = -speedx; if (_y <= 0 || (_y+130) >= 600) speedy = -speedy; _x += speedx; _y += speedy; hge->Gfx_BeginScene(); hge->Gfx_Clear(0xFF000000); spr->Render(_x,_y); Sleep(10); hge->Gfx_EndScene(); return false; //程序正常时总是返回false,返回true将从System_Start往下执行 } bool FrameFunc() //逻辑函数,程序开始后HGE不停的调用它,一些逻辑判断或者处理可以在这里写 { if (hge->Input_GetKeyState(HGEK_P)) hge->Effect_Play(snd); else if (hge->Input_GetKeyState(HGEK_S)) hge->Effect_PlayEx(snd,0,0,0,false); return false; //总是返回false } int WINAPI WinMain( IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, IN LPSTR lpCmdLine, IN int nShowCmd ) { hge = hgeCreate(HGE_VERSION); //使用hgeCreate函数创建hge窗口,参数必须传递正确的HGE_VESION,他在hge.h中定义的 hge->System_SetState(HGE_SCREENWIDTH,800); hge->System_SetState(HGE_SCREENHEIGHT,600); hge->System_SetState(HGE_FRAMEFUNC,FrameFunc); hge->System_SetState(HGE_RENDERFUNC,RenderFunc); hge->System_SetState(HGE_TITLE,"我的第一个HGE程序"); hge->System_SetState(HGE_SHOWSPLASH,false); hge->System_SetState(HGE_HIDEMOUSE,false); hge->System_SetState(HGE_USESOUND,true); hge->System_SetState(HGE_WINDOWED,true); if (hge->System_Initiate()) { hTex = hge->Texture_Load("loading.bmp"); if (hTex) spr = new hgeSprite(hTex,0,0,136,130); snd = hge->Effect_Load("music.mp3"); if (snd) hge->System_Start(); } hge->Effect_Free(snd); hge->Texture_Free(hTex); delete spr; hge->System_Shutdown(); hge->Release(); return 0; } 如果在播放时没有声音 请在你的工程目录下是否缺少bass.dll