/* ================================================ */ void SoundManager::PlaySE(const char *tagSE, const uint32_t &volume ) { const uint32_t handle = GetHandleId(tagSE); if(handle == INVALID_VALUE){ DEBUG_PRINT("【再生しようとしたSEはロードされていない?】\n"); return; } SetVolumeSoundMem( volume, handle); PlaySoundMem(GetHandleId(tagSE), DX_PLAYTYPE_BACK); }
void SoundManager::Update() { //! BGMのフェード処理 if(m_fadeTag != INVALID_VALUE){ int32_t volume = GetVolumeSoundMem(m_fadeTag); if(volume > 5000){ SetVolumeSoundMem(volume - VOLUME_FADE_SPEED, m_fadeTag); } else{ //! BGMを止める StopSoundMem(m_fadeTag); m_fadeTag = INVALID_VALUE; } } }
/* ================================================ */ void SoundManager::PlayBGM( const char *tagBGM, const uint32_t &volume ) { uint32_t handle = GetHandleId(tagBGM); if(handle == INVALID_VALUE){ DEBUG_PRINT("【再生しようとしたBGMはロードされていない?】\n"); return; } //! 再生中でないか確認 if(!CheckSoundMem(handle)){ for(uint32_t i = 0; i < m_vBGM.size(); ++i){ //! 他のBGMはすべて止める StopSoundMem(m_vBGM.at(i).m_soundId); } SetVolumeSoundMem( volume, handle); PlaySoundMem(handle, DX_PLAYTYPE_LOOP); m_fadeTag = INVALID_VALUE; } }
void Stage::Update() { // 時間経過 s_time++; if (s_time % 120 == 0) s_rank++; SetVolumeSoundMem(255, hs_bgm); Move(); if (Keyboard_Get(KEY_INPUT_6) == 1) ChangeVolumeSoundMem(0, hs_bgm); // TEST----------------------------------------------------------------- if (DebugMode::isTest == false) return; /// 時がくるまで封印 // if (effect->getIsAnime() && !f_quake) f_quake = true; if (Keyboard_Get(KEY_INPUT_W) >= 1) cycle += 0.1; if (Keyboard_Get(KEY_INPUT_S) >= 1) cycle -= 0.1; if (Keyboard_Get(KEY_INPUT_D) >= 1) shake += 0.1; if (Keyboard_Get(KEY_INPUT_A) >= 1) shake -= 0.1; }