bool TestGame::OnInit() {
_clearScreen = true;
_shape.SetDim(100,100);
_shape.SetPos(0,0);
_shape.SetColor(0xFF00FF00);
_shape.SetShape(ZAK_SHAPE_QUAD);
_speedX = 0.0f;
_speedY = 0.0f;
g_renderer.SetViewPosition((float)(g_renderer.GetViewPortWidth()/2),(float)(g_renderer.GetViewPortHeight()/2));
g_renderer.SetFont(FT_ARIAL);
g_renderer.SetFontColor(0xFFFF0000);
return true;
}
void TestGame::OnFrame() {
_posX = _shape.GetPosX();
_posY = _shape.GetPosY();
_speedX = 0.0f;
_speedY = 0.0f;
if (KeyDown(DIK_ESCAPE))
PostQuitMessage(0);
if (KeyPressed(DIK_LEFT)){
_speedX = -SPEED;
} else if (KeyPressed(DIK_RIGHT)) {
_speedX = SPEED;
}
if (KeyPressed(DIK_UP)) {
_speedY = SPEED;
} else if (KeyPressed(DIK_DOWN)) {
_speedY = -SPEED;
}
if (MouseRelPosf(ZAK_INPUT_MOUSE_POS_X) != 0.0f) {
_posX += MouseRelPosf(ZAK_INPUT_MOUSE_POS_X);
}
if (MouseRelPosf(ZAK_INPUT_MOUSE_POS_Y) != 0.0f) {
_posY += MouseRelPosf(ZAK_INPUT_MOUSE_POS_Y);
}
if (JoystickCount() > 0) {
if (JoystickPosf(0, ZAK_INPUT_POS_X) != 0.0f) {
_speedX = JoystickPosf(0, ZAK_INPUT_POS_X)/1024*SPEED;
}
if (JoystickPosf(0, ZAK_INPUT_POS_Y) != 0.0f) {
_speedY = -JoystickPosf(0, ZAK_INPUT_POS_Y)/1024*SPEED;
}
}
_posX += _speedX*(float)_fpsMeter.GetDT();
_posY += _speedY*(float)_fpsMeter.GetDT();
_shape.SetPos(_posX, _posY);
_shape.Update((float)_fpsMeter.GetDT());
}
void TestGame::OnDraw() {
_shape.Draw();
wstringstream ss;
ss << ZAK_ENGINE_NAME << endl << "FPS: " << _fpsMeter.GetFps() << endl;
if (JoystickCount() > 0) {
ss << "JoyX: " << JoystickPosf(0, ZAK_INPUT_POS_X) << " - JoyY: " << JoystickPosf(0, ZAK_INPUT_POS_Y) << endl;
}
ss << "MouseAbsPosX: " << MouseAbsPosf(ZAK_INPUT_MOUSE_POS_X) << " - MouseAbsPosY: " << MouseAbsPosf(ZAK_INPUT_MOUSE_POS_Y) << endl;
ss << "MouseWorldPosX: " << MouseWorldPosf(ZAK_INPUT_MOUSE_POS_X) << " - MouseWorldPosY: " << MouseWorldPosf(ZAK_INPUT_MOUSE_POS_Y) << endl;
g_renderer.DrawString(ss.str(),10,10,800-20,600-20,ZAK_TEXT_LEFT);
}