#include #include #include #include #include #include HGE *hge = 0; hgeResourceManager* myRes; hgeSprite* bgSprite; hgeSprite* playerSprite; hgeAnimation* star; hgeFont* font1; bool FrameFunc() { float dt=hge->Timer_GetDelta(); //get the time since the last call to FrameFunc star->Update(dt); //update the animation hge->Gfx_BeginScene(); hge->Gfx_Clear(0); //clear the screen, filling it with black bgSprite->RenderStretch(0, 0, 800, 600); //render the background sprite stretched playerSprite->Render(200, 200); //render the player sprite star->Render(400, 300); //render the animation of a star font1->SetScale(1.0); //set text size to normal font1->SetColor(ARGB(255,0,0,0)); //set color of text to black font1->Render(5, 5, "This is some text"); //render text at coordinates 5, 5 int someNumber = 50; font1->SetScale(2.0); //set text size to twice its normal size font1->printf(5, 30, "Here is a number: %d", someNumber); //render text using printf-style formatting hge->Gfx_EndScene(); return false; } int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int) { hge = hgeCreate(HGE_VERSION); hge->System_SetState(HGE_WINDOWED, true); hge->System_SetState(HGE_FRAMEFUNC, FrameFunc); hge->System_SetState(HGE_TITLE, "HGE Tutorial"); if(hge->System_Initiate()) { myRes = new hgeResourceManager("resource.res"); bgSprite = myRes->GetSprite("bgSprite"); playerSprite = myRes->GetSprite("playerSprite"); star = myRes->GetAnimation("star"); star->Play(); //start playback of animation font1 = myRes->GetFont("font1"); hge->System_Start(); } else { MessageBox(NULL, hge->System_GetErrorMessage(), "Error", MB_OK | MB_ICONERROR | MB_SYSTEMMODAL); } delete myRes; hge->System_Shutdown(); hge->Release(); return 0; }