void CConversation::GoToScene (unsigned int SceneNr) { // go to a specific scene // the test if this is a valid scene is done by the ChangeScene-function ChangeScene (SceneNr); }
void CSceneTitle::FrameMove(CSceneManager* pManager, float et) { if( (GetInput().KEY(DIK_UP)) ) // 위 { GetSound().PlaySound2D("Sound/MBtMouseClick.mp3",false); if( m_nCurrentSelect == START ) m_nCurrentSelect = END; else m_nCurrentSelect--; } else if( (GetInput().KEY(DIK_DOWN)) ) // 아래 { GetSound().PlaySound2D("Sound/MBtMouseClick.mp3",false); if( m_nCurrentSelect == END ) m_nCurrentSelect = START; else m_nCurrentSelect++; } else if(GetInput().KEY(DIK_RETURN)) // 엔터키 { GetSound().PlaySound2D("Sound/WorldSelect.mp3",false); // 게임 시작 if(m_nCurrentSelect == START){ GetSound().StopAllSound2D(); ChangeScene(pManager,CSceneCharacter::GetSingleton()); } // 이어 하기 if(m_nCurrentSelect == CONTINUE){ printf("Not implemented yet : Continue\n"); } // 게임 종료 if(m_nCurrentSelect == END){ PostMessage(g_pApp->GethWnd(), WM_DESTROY, 0,0); } } }
void GameLogic::OnTick() { switch( m_ActiveGameMode ) { case GAME_LOGIC_MODE_PLAYING: Instance.SceneManager->OnTick(); Instance.InputHandler->UpdateRelativeMouse(); break; case GAME_LOGIC_MODE_TEST: ChangeScene( "Scenes/Dev/Test_Sandbox.its", GAME_LOGIC_MODE_PLAYING ); break; case GAME_LOGIC_MODE_TRANSITION: ChangeMode( m_NextGameMode ); m_NextGameMode = GAME_LOGIC_MODE_NONE; break; case GAME_LOGIC_MODE_EDITOR: Instance.SceneManager->OnTick(); Instance.InputHandler->UpdateMouse(); EditorMouseUpdate(); break; case GAME_LOGIC_MODE_UNKNOWN: case GAME_LOGIC_MODE_NONE: default: break; } }
//============================================================================= //フェードイン //============================================================================= void CScene::FadeIn( ) { static Sint32 Alphacount = 0; static Sint32 Alpha = 255; Alphacount++; Alpha = Interpolation::Flat(255, 0, toI(m_fFadeTime), Alphacount); m_pApp->GetRenderer()->SetDrawType( DRAW_TYPE_BLEND ); m_pApp->GetRenderer()->FillRect( Math::Rect2DF( 0, 0, toF( m_pApp->GetScreenWidth() ),toF( m_pApp->GetScreenHeight() ) ), CColor( 255, 255, 255, Alpha ) ); if( Alpha <= 0 ) { Alpha = 255; Alphacount = 0; ChangeScene( m_eNextScene ); m_eSceneState = STATE_STANDBY; //pScene->Get2DObject()->RemoveObject( pTitle ); } }
// --------------------------------------------------------------------------- /// 更新 // --------------------------------------------------------------------------- Scene::SCENE Title::Update() { Scene::Update(); // スタート表示の点滅 if(mFadeFlag) { mStartTex.setAlpha(mStartTex.getAlpha() - mFadeSpeed); if(mStartTex.getAlpha() <= 0.0f) mFadeFlag = false; } else { mStartTex.setAlpha(mStartTex.getAlpha() + mFadeSpeed); if(mStartTex.getAlpha() >= 1.0f) mFadeFlag = true; } // スタート if(!mStart && mMouse.IsClickLeftButton()) { mStartSE.PlaySE(); mStart = true; mStartTex.setAlpha(1.0f); mFadeSpeed = 0.1f; FadeOut(2.0f); } // ゲームメインへ if(mFadeOutComp) { ChangeScene(SCENE::GAMEMAIN_SCENE); } return mScene; }
//============================================================================= //フェードアウト //============================================================================= void CScene::FadeOut( ) { static Sint32 Alphacount = 0; static Sint32 Alpha = 0; Alphacount++; Alpha = Interpolation::Flat(0, 255, toI(m_fFadeTime), Alphacount); m_pApp->GetRenderer()->SetDrawType( DRAW_TYPE_BLEND ); m_pApp->GetRenderer()->FillRect( Math::Rect2DF( 0, 0, toF( m_pApp->GetScreenWidth() ),toF( m_pApp->GetScreenHeight() ) ), CColor( 0, 0, 0, Alpha ) ); if( Alpha >= 255 ) { Alpha = 0; Alphacount = 0; ChangeScene( m_eNextScene ); m_pApp->GetRenderer()->SetDrawTextFont("MS ゴシック", m_FontSize ); m_eSceneState = STATE_STANDBY; } }
void CSceneManager::Render() { m_pCurScene->Render(); if(m_pCurScene->GetChange()) { ChangeScene(); } }
SceneManager::SceneManager(){ SceneMediateData startupSceneData = SceneMediateData::Setup(SCENE_TITLE); sceneMap.insert(map<SceneName, IScenes*>::value_type(SCENE_TITLE , new SceneTitle())); sceneMap.insert(map<SceneName, IScenes*>::value_type(SCENE_GAMEMAIN , new SceneGameMain())); sceneMap[startupSceneData.nextScene]->Initialize(startupSceneData); ChangeScene(startupSceneData); }
void SceneManager::Init( void ) { TRACE( "SceneManager initialisation" ); //TODO: Determine default starting scene then initialise //With new SceneList implementation, this can be read from a settings file as a string ChangeScene( "TestScene" ); PushGUI( new MainMenu( system, "Main Menu" ) ); }
bool CClientRobot::OnLostSever() { m_bWaitReonnect = true ; m_fReconnectTick = TIME_FOR_RECONNECT ; printf("lost server connect , change to login scene\n") ; auto au = new CLoginScene(this); ChangeScene(au); return true ; }
void Run(FScene* StartingScene) { ChangeScene(StartingScene); float DeltaTime = 0.0f; FTimer* Timer = EngineModules.Timer; Timer->Start(); while (EngineModules.Window->HandleEvents()) { Timer->Restart(); DeltaTime = Timer->GetElapsedTimeSeconds(); FProfiler::Get().PushSection("Engine", "Update"); EngineModules.ImGui->Update(DeltaTime); if (EngineModules.CurrentScene != nullptr) { EngineModules.CurrentScene->Update(DeltaTime); FProfiler::Get().PopSection(); EngineModules.CurrentScene->Render(DeltaTime); } else { FProfiler::Get().PopSection(); } EngineModules.ImGui->Render(); EngineModules.GraphicsContext->SwapBuffers(); if (EngineModules.NextScene != nullptr) { if (EngineModules.CurrentScene != nullptr) { EngineModules.CurrentScene->Unload(); delete EngineModules.CurrentScene; } EngineModules.CurrentScene = EngineModules.NextScene; EngineModules.CurrentScene->Load(); EngineModules.NextScene = nullptr; } EngineModules.Input->SignalFrameEnded(); FProfiler::Get().OnFrameEnded(); } if (EngineModules.CurrentScene != nullptr) { EngineModules.CurrentScene->Unload(); delete EngineModules.CurrentScene; EngineModules.CurrentScene = nullptr; } }
void TerrainViewer::Client::Start() { Init(800, 600, false); ChangeScene(std::shared_ptr<Scene>( new TerrainViewer::MainScene( *this, GetGraphicsTaskManager(), GetRenderEngine(), GetKeyboardActionManager()))); Run(); }
void CSceneManager::InitializeScene() { Add(new CTitleScene("Title")); //Add(new CSelectScene("Select")); Add(new CGameScene("Game")); Add(new CResultScene("Result")); ChangeScene(SCENE::TITLE); if (m_nowScene == -1){ //シーンを作ってね std::abort(); } }
void CSceneManager::TransitionScene() { // キー操作制限 LockKey(); // フェードアウト開始 // 次のシーンがセットされていて、なおかつフェードアウトが完了していれば、シーン入れ替え関数を呼ぶ if(NextScene != NULL && CTransition::FadeOut()) ChangeScene(); // フェードイン開始 // フェードインが完了したら、トランジションを解放する if(NULL == NextScene && CTransition::FadeIn()){ CTransition::DestroyTransition(); UnLockKey(); UnPause_(); } }
void CConversation::PrevScene () { bool ChangedTheScene = false; unsigned int Scene = m_CurScene; while (ChangedTheScene == false) { Scene--; // test if this would be a valid scene if (Scene >= 0) ChangedTheScene = ChangeScene (Scene); // valid so try to change it else ChangedTheScene = true; // not valid, so change nothing but get out of the while } }
void CConversation::NextScene () { bool ChangedTheScene = false; unsigned int Scene = m_CurScene; while (ChangedTheScene == false) { Scene++; // test if this would be a valid scene if (Scene < m_Scenes.size () ) ChangedTheScene = ChangeScene (Scene); // is valid, so try to change it else ChangedTheScene = true; // not valid, so change nothing but get out of the while } }
void TinselEngine::NextGameCycle(void) { // Dim Music _pcmMusic->dimIteration(); // Check for scene change ChangeScene(false); // Allow a user event for this schedule ResetEcount(); // schedule process _scheduler->schedule(); if (MoviePlaying()) CopyMovieToScreen(); else // redraw background DrawBackgnd(); // Why waste resources on yet another process? FettleTimers(); }
void SceneManager::Update(){ SceneMediateData nextSceneData; nextSceneData = sceneMap[curScene]->Update(); ChangeScene(nextSceneData); }
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { SetWindowIconID(IDI_ICON1); SetMainWindowText(titlebar),ChangeWindowMode(TRUE), SetGraphMode(WIDTH, HEIGHT, 32), DxLib_Init(),SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード、960*720のサイズ //画像の読み込み GraphicHandle[0] = LoadGraph("image/Title.png"); GraphicHandle[1] = LoadGraph("image/Player.png"); GraphicHandle[2] = LoadGraph("image/Comet.png"); GraphicHandle[3] = LoadGraph("image/Backscreen.png"); GraphicHandle[4] = LoadGraph("image/Clearscreen.png"); GraphicHandle[5] = LoadGraph("image/Sf_title.png"); GraphicHandle[6] = LoadGraph("image/Buttun_on.png"); GraphicHandle[7] = LoadGraph("image/Buttun_off.png"); GraphicHandle[8] = LoadGraph("image/Ready.png"); GraphicHandle[9] = LoadGraph("image/Start.png"); GraphicHandle[10] = MakeScreen(1024, 1024, false); GraphicHandle[11] = LoadGraph("image/Ranking.png"); GraphicHandle[12] = LoadGraph("image/Pause.png"); //音楽の読み込み SoundHandle[0] = LoadSoundMem("music/bgm.mp3"); SoundHandle[1] = LoadSoundMem("music/select.mp3"); SoundHandle[2] = LoadSoundMem("music/deside.mp3"); SoundHandle[3] = LoadSoundMem("music/miss.mp3"); SoundHandle[4] = LoadSoundMem("music/gameover.mp3"); GScoreFont = CreateFontToHandle("Meiryo UI Bold", 20, -1); RScoreFont = CreateFontToHandle("Meiryo UI Bold", 32, -1); CScoreFont = CreateFontToHandle("Meiryo UI Bold", 64, -1); ChangeFont("Meiryo UI Bold"); //フォントの変更 Title_Initialize(); //タイトルの初期化処理 Game_Initialize(); //ゲームの初期化処理 Clear_Initialize(); //クリア画面の初期化処理 Rank_Initialize(); //ランキング画面の初期化処理 Logo_Initialize(); while (Loop() == true) { Keyboard_Update(); GamePad_Update(); switch (NowScene()) { //現在のシーンによって動作を変える case logo: Logo_Update(); break; case title: Title_Update(); Title_Draw(); break; case gamepre: Game_Initialize(); ChangeScene(game); case game: Game_Update(); Game_Draw(); break; case clear: Clear_Update(); Clear_Draw(); break; } } Title_Finalize(); //タイトルの終了処理 Game_Finalize(); //ゲームの終了処理 Clear_Finalize(); //クリア画面の終了処理 Rank_Finalize(); //ランキング画面の終了処理 Logo_Finalize(); //ロゴ画面の終了処理 DxLib_End(); // DXライブラリ使用の終了処理 return 0; }
void SceneManager::Setup() { Register(); ChangeScene(Scene::STAGE_SELECT); }
void Room5::Update() { if (!textWindow->getActive() && !gameOverSw) { player->playerInput(input, Map); } cursor->CursorInput(input); // 페이드 인 아웃 // if (fade->getalphaStart()) { player->setInputSW(false); fade->setAlpha(fade->getAlpha() + 0.8f); } else if (fade->getAlpha() <= 255 && fade->getAlpha() >= 1.5f) { player->setInputSW(false); fade->setAlpha(fade->getAlpha() - 1.5f); } else if (fade->getAlpha() <= 1.5f) { player->setInputSW(true); start = true; } if (fade->getAlpha() >= 254) { Game *temp = new Room3; ChangeScene(temp); } /////////////////// //// 기본 시스템 //// { if (start && LantenAlpha <= 240) { LantenAlpha += Dark; } else if (start && LantenAlpha > 240 && LantenAlpha <= 250) { LantenAlpha += 0.015f; } else if (LantenAlpha > 250) { gameOverSw = true; } if (gameOverSw && gameOverAl <= 254) { gameOverAl += 254; } } ///////////////////// ////// 이벤트 발동문 ////// { // 몬스터 추적 if (monsterStart == 1) { HuntPlayer(mop1); MonsterTime += (float)1 / 60; } if (monsterStart2) { HuntPlayer(mop2); HuntPlayer(mop3); HuntPlayer(mop4); HuntPlayer(mop5); MonsterTime2 += (float)1 / 60; } if (monsterStart3 == 2) { HuntPlayer(mop6); HuntPlayer(mop7); HuntPlayer(mop8); HuntPlayer(mop9); MonsterTime3 += (float)1 / 60; } } { if (monsterStart3 == 1) { MonsterStartTime += (float)1 / 60; } else if (monsterStart3 == 1) { MonsterStartTime += (float)1 / 60; } // 몬스터 실종 시간 if (MonsterTime >= 50) { if(MonsterTime >= 60) { monsterStart = 2; } MonsterAlpha1 -= 25; } if (MonsterTime2 >= 45) { monsterStart2 = 2; MonsterAlpha2 -= 25; } if (MonsterTime3 >= 40) { monsterStart3 = 3; MonsterAlpha3 -= 25; } if (MonsterStartTime >= 10 && monsterStart3 != 3) { monsterStart3 = 2; } if (ShadowEventStart == 1) { shadows->setX(player->getX()); } if (TotemEvent == 1) { Sleep(2000); Totem1->settingTexture(graphics, "..\\Resources\\Object\\totem_l_N.png", 64 * 3, 64 * 7, 1); Totem2->settingTexture(graphics, "..\\Resources\\Object\\totem_r_N.png", 64 * 3, 64 * 7, 1); TotemEvent = 2; } } /////////////////////////// ////// 이벤트 리스트 ////// // 대화창 넘김&종료 if (textWindow->getActive() && (input->isKeyUp(VK_RETURN) || input->getMouseLButtonDown())) { switch (eventCount) { case 3: eventCount = 2; // 다음 이벤트로 textWindow->resetStrLength(); textWindow->setActive(false); break; case 9: eventCount = 8; textWindow->resetStrLength(); break; default: textWindow->setActive(false); eventCount = 0; textWindow->resetStrLength(); break; } } // 상호작용 이벤트 if (input->isKeyUp(VK_RETURN)) { if ((player->p_PosX == 8 && player->p_PosY == 24) || (player->p_PosX == 5 && player->p_PosY == 26) || (player->p_PosX == 10 && player->p_PosY == 26) || (player->p_PosX == 6 && player->p_PosY == 27)) { eventCount = 1; textWindow->setActive(true); } // 엔딩 if ((player->p_PosX == 132 && player->p_PosY == 8) || (player->p_PosX == 133 && player->p_PosY == 9) ) { Dark = 0; fade->setalphaStart(true); ending = true; } // 기름병들 { if (ShadowEventStart == 2 && item[0] != 1 && (player->p_PosX == 26 && player->p_PosY == 13)) { item[0] = 1; LantenAlpha = 0; eventCount = 9; textWindow->setActive(true); } if (item[1] != 1 && (player->p_PosX == 62 && player->p_PosY == 14)) { item[1] = 1; LantenAlpha = 0; eventCount = 8; textWindow->setActive(true); } if (item[2] != 1 && (player->p_PosX == 118 && player->p_PosY == 28)) { item[2] = 1; LantenAlpha = 0; eventCount = 8; textWindow->setActive(true); } if (item[3] != 1 && (player->p_PosX == 66 && player->p_PosY == 24)) { item[3] = 1; LantenAlpha = 0; Dark = 0; eventCount = 11; textWindow->setActive(true); } } // 세이브 포인트 if ((player->p_PosX == 12 && player->p_PosY == 12) || (player->p_PosX == 34 && player->p_PosY == 19) || (player->p_PosX == 78 && player->p_PosY == 4) || (player->p_PosX == 128 && player->p_PosY == 13)) { Save(); eventCount = 4; switch (player->p_PosX) { case 12: Lanten1->settingTexture(graphics, "..\\Resources\\Object\\save_point_Y.png", 95, 131, 1); break; case 34: Lanten2->settingTexture(graphics, "..\\Resources\\Object\\save_point_Y.png", 95, 131, 1); break; case 78: Lanten3->settingTexture(graphics, "..\\Resources\\Object\\save_point_Y.png", 95, 131, 1); break; case 128: Lanten4->settingTexture(graphics, "..\\Resources\\Object\\save_point_Y.png", 95, 131, 1); break; } textWindow->setActive(true); } // 칼 if (!KnifeSw && (player->p_PosX == 136 && player->p_PosY == 20)) { eventCount = 5; objectManager->RemoveObject("knife"); KnifeSw = true; textWindow->setActive(true); } // 열쇠 if (!KeySw && (player->p_PosX == 122 && player->p_PosY == 8)) { eventCount = 6; objectManager->RemoveObject("key"); KeySw = true; textWindow->setActive(true); } // 게임오버 if (gameOverAl >= 254) { Game *temp = new Room5; ChangeScene(temp); } } // 위치 기반 이벤트 { if (firstlan == false && ( (player->p_PosX == 18 && player->p_PosY == 17) || (player->p_PosX == 18 && player->p_PosY == 18))) { eventCount = 10; textWindow->setActive(true); firstlan = true; } if (colEvent == false &&( (player->p_PosX == 18 && player->p_PosY == 25) || (player->p_PosX == 19 && player->p_PosY == 25) || (player->p_PosX == 20 && player->p_PosY == 25))) { Sleep(500); eventCount = 2; textWindow->setActive(true); colEvent = true; } else if ((player->p_PosX == 18 && player->p_PosY == 24) || (player->p_PosX == 19 && player->p_PosY == 24) || (player->p_PosX == 20 && player->p_PosY == 24)) { colEvent = false; } if ((player->p_PosX == 32 && player->p_PosY == 19) && !monsterStart == 1) { monsterStart = 1; } if ((player->p_PosX == 64 && player->p_PosY == 25) && !monsterStart2) { monsterStart2 = 1; } // 그림자 몬스터들 if (ShadowEventStart == 0 && ( (player->p_PosX == 22 && player->p_PosY == 13) || (player->p_PosX == 22 && player->p_PosY == 14) || (player->p_PosX == 22 && player->p_PosY == 15))) { ShadowEventStart = 1; } if (ShadowEventStart == 1 && ( (player->p_PosX == 26 && player->p_PosY == 13) || (player->p_PosX == 26 && player->p_PosY == 14) || (player->p_PosX == 26 && player->p_PosY == 15))) { ShadowEventStart = 2; eventCount = 7; textWindow->setActive(true); } if (!shadowMonsterEvent && ( (player->p_PosX == 47 && player->p_PosY == 23) || (player->p_PosX == 48 && player->p_PosY == 23) || (player->p_PosX == 49 && player->p_PosY == 23))) { shadowMonsterEvent = true; } // 사냥꾼 집 이벤트 if (HouseEvent == false && ( (player->p_PosX == 74 && player->p_PosY == 18) || (player->p_PosX == 74 && player->p_PosY == 19) || (player->p_PosX == 74 && player->p_PosY == 20))) { Sleep(500); House1->settingTexture(graphics, "..\\Resources\\Object\\hunter_house_n.png", 64 * 14, 64 * 15, 1); HouseEvent = true; } // 토템 이벤트 if (TotemEvent == 0 && ( (player->p_PosX == 86 && player->p_PosY == 11) || (player->p_PosX == 87 && player->p_PosY == 11) || (player->p_PosX == 88 && player->p_PosY == 11))) { Totem1->settingTexture(graphics, "..\\Resources\\Object\\totem_l_Y.png", 64 * 3, 64 * 7, 1); Totem2->settingTexture(graphics, "..\\Resources\\Object\\totem_r_Y.png", 64 * 3, 64 * 7, 1); TotemEvent = 1; } // 앞만 보고 가는 길 이벤트 if (monsterStart3 == 0 && ( (player->p_PosX == 90 && player->p_PosY == 14) || (player->p_PosX == 89 && player->p_PosY == 15) )) { monsterStart3 = 1; } else if (monsterStart3 == 1 && ( (player->p_PosX == 98 && player->p_PosY == 21) || (player->p_PosX == 98 && player->p_PosY == 22) || (player->p_PosX == 98 && player->p_PosY == 23))) { monsterStart3 = 3; } // 게임 오버 if ((monsterStart != 2 && (mop1->m_PosX == player->p_PosX && mop1->m_PosY == player->p_PosY)) || (monsterStart2 != 3 && (mop6->m_PosX == player->p_PosX && mop6->m_PosY == player->p_PosY) || (mop7->m_PosX == player->p_PosX && mop7->m_PosY == player->p_PosY) || (mop8->m_PosX == player->p_PosX && mop8->m_PosY == player->p_PosY) || (mop9->m_PosX == player->p_PosX && mop9->m_PosY == player->p_PosY)) ){ gameOverSw = true; } if (monsterStart2 != 2 && (mop2->m_PosX == player->p_PosX && mop2->m_PosY == player->p_PosY) || (mop3->m_PosX == player->p_PosX && mop3->m_PosY == player->p_PosY) || (mop4->m_PosX == player->p_PosX && mop4->m_PosY == player->p_PosY) || (mop5->m_PosX == player->p_PosX && mop5->m_PosY == player->p_PosY)) { gameOverSw = true; } if (MonsterAlpha[0]>=253 && ( (player->p_PosX == 48 && player->p_PosY == 23) || (player->p_PosX == 48 && player->p_PosY == 22) || (player->p_PosX == 47 && player->p_PosY == 22))) { gameOverSw = true; } if (MonsterAlpha[1]>=253 && ( (player->p_PosX == 48 && player->p_PosY == 21) || (player->p_PosX == 48 && player->p_PosY == 20) || (player->p_PosX == 49 && player->p_PosY == 21))) { gameOverSw = true; } if (MonsterAlpha[2] >= 253 && ( (player->p_PosX == 48 && player->p_PosY == 19) || (player->p_PosX == 48 && player->p_PosY == 18) || (player->p_PosX == 47 && player->p_PosY == 19))) { gameOverSw = true; } //// 동화 내용 //if (storyText[0] == 0 && ( // (player->p_PosX == 10 && player->p_PosY == 10) || // (player->p_PosX == 11 && player->p_PosY == 9) )) { // eventCount = 8; // textWindow->setActive(true); // storyText[0] = 1; //} //if (storyText[1] == 0 && ( // (player->p_PosX == 29 && player->p_PosY == 15) || // (player->p_PosX == 28 && player->p_PosY == 16))) { // eventCount = 9; // textWindow->setActive(true); // storyText[1] = 1; //} } if (ShadowEventStart == 1) { shadows->drawable = true; } else { shadows->drawable = false; } /////////////////////////// }
void TransitionFade::OnUpdate() { float cp = 0.0f; float cn = 0.0f; if (time < fadeoutDuration) { cp = 1.0f - time / fadeoutDuration; } else if (time <= fadeoutDuration + fadeinDuration) { if (!IsSceneChanged()) { ChangeScene(); } cn = (time - fadeoutDuration) / fadeinDuration; } else { if (!IsSceneChanged()) { ChangeScene(); } if (!GetIsFinished()) { Finish(); } cn = 1.0f; } uint8_t cp_ = Clamp(cp * 255, 255, 0); uint8_t cn_ = Clamp(cn * 255, 255, 0); DrawRectangleWithPreviousScene( Vector2DF(0.0, 0.0), Vector2DF(1.0, 0.0), Vector2DF(1.0, 1.0), Vector2DF(0.0, 1.0), Color(255, 255, 255, cp_), Color(255, 255, 255, cp_), Color(255, 255, 255, cp_), Color(255, 255, 255, cp_), Vector2DF(0.0, 0.0), Vector2DF(1.0, 0.0), Vector2DF(1.0, 1.0), Vector2DF(0.0, 1.0)); DrawRectangleWithNextScene( Vector2DF(0.0, 0.0), Vector2DF(1.0, 0.0), Vector2DF(1.0, 1.0), Vector2DF(0.0, 1.0), Color(255, 255, 255, cn_), Color(255, 255, 255, cn_), Color(255, 255, 255, cn_), Color(255, 255, 255, cn_), Vector2DF(0.0, 0.0), Vector2DF(1.0, 0.0), Vector2DF(1.0, 1.0), Vector2DF(0.0, 1.0)); time += Engine::GetDeltaTime(); }
void Clear_Update() { if (Keyboard_Get(KEY_INPUT_RIGHT) == 1 || GamePad_Get(PAD_INPUT_RIGHT)==1) { SelectCnt = (SelectCnt + 1) % 3; } if (Keyboard_Get(KEY_INPUT_LEFT) == 1 || GamePad_Get(PAD_INPUT_LEFT)==1) { SelectCnt = (SelectCnt + 2) % 3; } if (Keyboard_Get(KEY_INPUT_RIGHT) == 1 || GamePad_Get(PAD_INPUT_RIGHT) == 1 || Keyboard_Get(KEY_INPUT_LEFT) == 1 || GamePad_Get(PAD_INPUT_LEFT)==1) { for (int i = 0; i < 3; i++) { if (i == SelectCnt) { Menu_clear[i].image = GraphicHandle[6]; PlaySoundMem(SoundHandle[1], DX_PLAYTYPE_BACK, true); } else { Menu_clear[i].image = GraphicHandle[7]; PlaySoundMem(SoundHandle[1], DX_PLAYTYPE_BACK, true); } } } if (Keyboard_Get(KEY_INPUT_Z) == 1 && SelectCnt == 0 || GamePad_Get(PAD_INPUT_1)==1&&SelectCnt==0) //りとらいが押されたらゲームシーンに移る { StopSoundMem(SoundHandle[4]); PlaySoundMem(SoundHandle[2], DX_PLAYTYPE_BACK, true); PlaySoundMem(SoundHandle[0], DX_PLAYTYPE_LOOP, true); ChangeScene(gamepre); } if (Keyboard_Get(KEY_INPUT_Z) == 1 && SelectCnt == 1 || GamePad_Get(PAD_INPUT_1)==1&&SelectCnt==1) //たいとるが押されたらタイトルシーンに移る { StopSoundMem(SoundHandle[4]); PlaySoundMem(SoundHandle[2], DX_PLAYTYPE_BACK, true); PlaySoundMem(SoundHandle[0], DX_PLAYTYPE_LOOP, true); Title_Initialize(); //タイトルの初期化処理もする ChangeScene(title); } if (Keyboard_Get(KEY_INPUT_Z) == 1 && SelectCnt == 2||GamePad_Get(PAD_INPUT_1)==1&&SelectCnt==2) //おわるが押されたら終了する { StopSoundMem(SoundHandle[4]); PlaySoundMem(SoundHandle[2], DX_PLAYTYPE_NORMAL, true); GameContinueFlag = false; //ゲームの終了処理もする } if (Keyboard_Get(KEY_INPUT_X) == 1 || GamePad_Get(PAD_INPUT_2)==1) //xキーが押されたらおわるに移動する { SelectCnt = 2; for (int i = 0; i < 3; i++) { if (i == SelectCnt) { Menu_clear[i].image = GraphicHandle[6]; PlaySoundMem(SoundHandle[1], DX_PLAYTYPE_BACK, true); } else { Menu_clear[i].image = GraphicHandle[7]; PlaySoundMem(SoundHandle[1], DX_PLAYTYPE_BACK, true); } } } }