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();