//================================================ //ゲームオーバー処理 //================================================ void DrawGameOver(void) { bgm[BGM_MAIN].StopSound(); bgm[BGM_BOSS].StopSound(); menu.Move(2); menu.CalcFontSprPos(200, 200, Menu5, 2); menu.GameOverSelect(&g_GameMode); /*シーン開始*/ if(Luna3D::BeginScene() ) { Luna3D::SetBlendingType(BLEND_NORMAL); window.DrawFont(200, 100, "Game Over"); menu.DrawFontSpr(Menu5, 2); menu.DrawCursor(); menu.Rendering(); /*シーン終了*/ Luna3D::EndScene(); } }
//================================================ //タイトル画面描画 //================================================ void DrawTitle(void) { bgm[BGM_BOSS].StopSound(); bgm[BGM_MAIN].StopSound(); bgm[BGM_TITLE].PlaySoundA(); frame.IsDisp = TRUE; /*モードセレクト*/ menu.ModeSelect(&g_GameMode); LunaPrimitive::UpdateBuffer(lPrim); tcamera.Update(); model.Translation(); /*カーソル移動*/ menu.Move(ITEM1_MAX); /*シーン開始*/ if(Luna3D::BeginScene() ) { menu.DrawCursor(); Luna3D::SetBlendingType(BLEND_NORMAL); LunaPrimitive::Rendering(lPrim); model.Rendering(); frame.DrawTexture(); menu.Rendering(); /*描画位置算出*/ menu.CalcFontSprPos(100, 200, TitleMenu, ITEM1_MAX); menu.DrawFontSpr(TitleMenu, ITEM1_MAX); /*シーン終了*/ Luna3D::EndScene(); } }
//================================================ //ポーズ終了確認画面 //================================================ void DrawPauseExit() { menu.Move(2); menu.DrawFont(50, 100, "タイトルに戻りますか?"); menu.CalcFontSprPos(100, 200, Menu6, 2); menu.DrawFontSpr(Menu6, 2); menu.DrawCursor(); menu.PauseExitSelect(&g_GameMode); menu.Rendering(); }
//================================================ //終了画面 //================================================ void DrawExit(void) { /*移動*/ menu.Move(2); /*描画位置算出*/ menu.CalcFontSprPos(100, 200, Menu6, 2); menu.Select(&g_GameMode); menu.DrawFont(100, 50, "ゲームを終了しますか?"); /*描画*/ menu.DrawFontSpr(Menu6, 2); /*カーソル描画*/ menu.DrawCursor(); /*レンダリング*/ menu.Rendering(); }
//================================================ //キャラクターセレクト画面描画 //================================================ void DrawCharaSelect(void) { int LEFT = 200; int TOP = 100; int MOVE = 50; window.IsDisp = TRUE; /*シーン開始*/ if(Luna3D::BeginScene() ) { Luna3D::SetBlendingType(BLEND_NORMAL); if(++g_Second % 20 == 0) { player.animcounter++; } window.DrawTexture(); player.Draw(F(LEFT), F(TOP), player.first); player.Draw(F(LEFT), F(TOP+MOVE), player.second); player.Draw(F(LEFT), F(TOP+2*MOVE), player.third); switch(menu.Scene) { case SCENE_FIRST: { menu.CalcCharaPos(LEFT, TOP, MOVE); window.DrawFont("キャラの順番を選んでください"); window.DrawFont(0, 50); menu.Move(3); menu.CharaSelect(&g_GameMode, &player.first, &player.second, &player.third); break; } case SCENE_SECOND: { window.DrawFont("キャラの順番を選んでください"); window.DrawFont(0, 50); menu.CalcCharaPos(LEFT, TOP, MOVE); menu.Move(3); menu.CharaSelect(&g_GameMode, &player.first, &player.second, &player.third); break; } case SCENE_THIRD: { window.DrawFont("キャラの順番を選んでください"); break; } case SCENE_END: { window.DrawFont("これでいいですか?"); menu.CalcFontSprPos(200, 400, Menu6, 2); menu.DrawFontSpr(Menu6, 2); menu.CharaSelectExit(&g_GameMode); menu.Move(2); menu.DrawCursor(); menu.Rendering(); player.Type = player.first; break; } } /*シーン終了*/ Luna3D::EndScene(); } }
//================================================ //描画 //================================================ void DrawMethod(void) { switch(g_GameMode) { case SCENE_LOGO: { break; } case SCENE_TITLE: { break; } case SCENE_CHARSEL: { break; } case SCENE_MAIN: { } case SCENE_OPTION: { menu.DrawCursor(); /*描画位置算出*/ menu.CalcFontPos(100, 200, ITEM2_MAX); menu.DrawFont(Menu2, ITEM2_MAX); break; } case SCENE_TUTOLIAL: { window.DrawTexture(); //window.DrawFont("Test"); window.DrawMessage(menu.Cursor); menu.DrawCursor(); /*描画位置算出*/ menu.CalcFontSprPos(100, 100, Menu4, ITEM4_MAX); menu.DrawFontSpr(Menu4, ITEM4_MAX); break; } case SCENE_PAUSE: { break; } case SCENE_ERROR: { menu.DrawErrorMessage(); break; } } }