HGE* hge = hgeCreate(HGE_VERSION); class CPlayer { public: float x,y; float speed; hgeQuad quad; HTEXTURE tex1; CPlayer(float xf=600,float yf=400,float speedf=400); void obj_framefunc(); void obj_render(); void obj_initiate(); private: }; CPlayer::CPlayer(float xf,float yf,float speedf) { x = xf; y = yf; speed = speedf; } void CPlayer::obj_framefunc() { float dt=hge->Timer_GetDelta(); if (hge->Input_GetKeyState(HGEK_LEFT)) x-=speed*dt; if (hge->Input_GetKeyState(HGEK_RIGHT)) x+=speed*dt; if (hge->Input_GetKeyState(HGEK_UP)) y-=speed*dt; if (hge->Input_GetKeyState(HGEK_DOWN)) y+=speed*dt; if(x>784) {x=784;} if(x<16) {x=16;} if(y>584) {y=584;} if(y<16) {y=16;} quad.v[0].x=x-16; quad.v[0].y=y-16; quad.v[1].x=x+16; quad.v[1].y=y-16; quad.v[2].x=x+16; quad.v[2].y=y+16; quad.v[3].x=x-16; quad.v[3].y=y+16; } void CPlayer::obj_render() { hge->Gfx_RenderQuad(&quad); } void CPlayer::obj_initiate() { quad.tex=tex1; quad.blend=BLEND_ALPHAADD | BLEND_COLORMUL | BLEND_ZWRITE; for(int i=0;i<4;i++) { quad.v[i].z=0.5f; quad.v[i].col=0xFFFFA000; } quad.v[0].tx=0; quad.v[0].ty=0; quad.v[1].tx=1; quad.v[1].ty=0; quad.v[2].tx=1; quad.v[2].ty=1; quad.v[3].tx=0; quad.v[3].ty=1; } hge->Release();