/*------------------ pivot the camera C.Wang 0329, 2004 -------------------*/ void PivotCam(int x, int y) { FnObject model; if (x != oldX) { model.ID(cID); model.Rotate(Z_AXIS, (float) (x - oldX), GLOBAL); oldX = x; } if (y != oldY) { model.ID(cID); model.Rotate(X_AXIS, (float) (y - oldY), GLOBAL); oldY = y; } }
//------------------------------------------------------------------------------------ // timer callback function which will be invoked by TheFly3D System every 1/30 second // C.Wang 0308, 2004 //------------------------------------------------------------------------------------ void GameAI(int skip) { if (mmID != FAILED_ID) { FnMedia md; md.Object(mmID); if (md.GetState() == MEDIA_STOPPED) { // after playing, delete the media object FyDeleteMediaPlayer(mmID); mmID = FAILED_ID; } else { return; } } FnLight lgt; lgt.Object(lID); lgt.Rotate(Z_AXIS, 0.5f, GLOBAL); FnObject model; model.Object(nID); model.Rotate(Z_AXIS, 3.0f, GLOBAL); // render the scene FnViewport vp; vp.Object(vID); vp.Render3D(cID, TRUE, TRUE); // show frame rate static char string[128]; if (frame == 0) { FyTimerReset(0); } if (frame/10*10 == frame) { float curTime; curTime = FyTimerCheckTime(0); sprintf(string, "Fps: %6.2f", frame/curTime); } frame += skip; if (frame >= 1000) { frame = 0; } FySwapBuffers(); }