/*------------------ the main program C.Wang 0904, 2012 -------------------*/ void FyMain(int argc, char **argv) { // create a new world FyStartFlyWin32("Hello Fly2 !", 0, 0, 800, 600, FALSE); FySetModelPath("Data\\Models"); FySetTexturePath("Data\\textures"); FySetShaderPath("Data\\shaders"); // create a viewport vID = FyCreateViewport(0, 0, 800, 600); FnViewport vp; vp.ID(vID); vp.SetBackgroundColor(0.3f, 0.4f, 0.5f); // create a 3D scene & the 3D entities sID = FyCreateScene(1); FnScene scene; scene.ID(sID); nID = scene.CreateObject(OBJECT); cID = scene.CreateObject(CAMERA); lID = scene.CreateObject(LIGHT); // load the teapot model FnObject model; model.ID(nID); model.Load("teapot"); // translate the camera FnCamera camera; camera.ID(cID); camera.Rotate(X_AXIS, 90.0f, LOCAL); camera.Translate(0.0f, 10.0f, 100.0f, LOCAL); // translate the light FnLight light; light.ID(lID); light.SetName("MainLight"); light.Translate(-50.0f, -50.0f, 50.0f, GLOBAL); // set Hotkeys FyDefineHotKey(FY_ESCAPE, QuitGame, FALSE); // define some mouse functions FyBindMouseFunction(LEFT_MOUSE, InitPivot, PivotCam, NULL, NULL); FyBindMouseFunction(MIDDLE_MOUSE, InitZoom, ZoomCam, NULL, NULL); FyBindMouseFunction(RIGHT_MOUSE, InitMove, MoveCam, NULL, NULL); // bind a timer, frame rate = 30 fps FyBindTimer(0, 30.0f, GameAI, TRUE); // invoke the system FyInvokeFly(TRUE); }
MiniMap::MiniMap(WORLDid gID, SCENEid sMiniID, Lyubu *lyubu, int x_pos, int y_pos, int width, int height ) { FnWorld gw; FnScene scene; FnViewport vp; FnCamera camera; FnObject camStand; FnTerrain terrain; //adr_turn = this->turn; /* pos_begin[0]=3569.0; pos_begin[1]=-3208.0; pos_begin[2]=1000.0f; */ gw.Object(gID); //miniMap gw.SetObjectPath("Data\\NTU4\\Scenes"); FnScene miniScene; miniScene.Object(sMiniID); miniTerrainID = miniScene.CreateObject(ROOT); FnObject miniTerrain; miniTerrain.Object(miniTerrainID); miniTerrain.Load("terrain"); miniTerrain.SetOpacity(0.8f); // create a camera stand for minimap miniMapStandID = miniScene.CreateObject(ROOT); gw.SetObjectPath("Data\\NTU4\\Characters"); anchorID = miniScene.CreateObject(miniMapStandID); FnObject anchor; anchor.Object(anchorID); anchor.Load("arrowGreen"); float pos[]={0,0,10}; anchor.SetPosition(pos); // create a camera for minimap miniMapCameraID = miniScene.CreateCamera(miniMapStandID); FnCamera miniCamera; miniCamera.Object(miniMapCameraID); miniCamera.Translate(0.0f, 0.0f, 5000.0f, REPLACE); miniCamera.SetNear(5.0f); miniCamera.SetFar(100000.0f); miniCamera.Rotate(Z_AXIS, 180.0f, LOCAL); // create a light for minimap camera FnLight miniLight; miniLight.Object(miniScene.CreateLight(miniMapCameraID)); miniLight.SetIntensity(1.0f); miniLight.SetRange(9500.0f); vpMiniMapID = gw.CreateViewport(x_pos, y_pos, width, height); }
/*------------------ the main program C.Wang 0308, 2004 -------------------*/ void FyMain(int argc, char **argv) { // create a new world FyStartFlyWin32("Hello TheFly3D !", 0, 0, 800, 600, beFullScreen); FySetModelPath("Data\\Models"); FySetTexturePath("Data\\textures"); FySetShaderPath("Data\\Shaders"); FyBeginMedia("data\\media", 2); //mmID = FyCreateMediaPlayer("dawn.mpg", 0, 0, 800, 600); //mmID = FyCreateMediaPlayer("opening.avi", 0, 0, 800, 600); mmID = FyCreateMediaPlayer("MUSIC_fogforest.mp3", 0, 0, 800, 600); FnMedia mP; mP.Object(mmID); mP.Play(ONCE); //mP.SetVolume(0.1f); // create a viewport vID = FyCreateViewport(0, 0, 800, 600); FnViewport vp; vp.Object(vID); vp.SetBackgroundColor(0.3f, 0.4f, 0.5f); // create a 3D scene & the 3D entities sID = FyCreateScene(1); FnScene scene; scene.Object(sID); nID = scene.CreateObject(OBJECT); cID = scene.CreateObject(CAMERA); lID = scene.CreateObject(LIGHT); // load the teapot FnObject model; model.ID(nID); model.Load("teapot.cw3"); model.Translate(20.0f, 0.0f, 0.0f, GLOBAL); // translate the camera FnCamera camera; camera.ID(cID); camera.Rotate(X_AXIS, 90.0f, LOCAL); camera.SetAspectRatio(800.0f/600.0f); camera.Translate(0.0f, 10.0f, 200.0f, LOCAL); // translate the light FnLight light; light.ID(lID); light.Translate(-30.0f, -30.0f, 0.0f, GLOBAL); light.SetName("MainLight"); light.SetColor(0.9f, 0.9f, 0.7f); // set Hotkeys FyDefineHotKey(FY_ESCAPE, QuitGame, FALSE); // define some mouse functions FyBindMouseFunction(LEFT_MOUSE, InitPivot, PivotCam, NULL, NULL); FyBindMouseFunction(MIDDLE_MOUSE, InitZoom, ZoomCam, NULL, NULL); FyBindMouseFunction(RIGHT_MOUSE, InitMove, MoveCam, NULL, NULL); /* bind a timer, frame rate = 30 fps */ FyBindTimer(0, 30.0f, GameAI, TRUE); // invoke the system FyInvokeFly(TRUE); }