// BGM 체인지 // 소리가 점점 줄어들었다가 0.5초 후에 BGM을 체인지 하고 서서히 소리를 키운다. private IEnumerator ChangeBGM(eBGM _bgm) { isChangingBGM = true; while (bgmAudio.volume > 0) { bgmAudio.volume -= 0.05f; yield return(null); } bgmAudio.volume = 0; yield return(new WaitForSeconds(0.1f)); bgmAudio.clip = bgmList[( int )_bgm].clip; bgmAudio.Play(); while (bgmAudio.volume < bgmList[( int )_bgm].volume) { bgmAudio.volume += 0.05f; yield return(null); } bgmAudio.volume = bgmList[( int )_bgm].volume; isChangingBGM = false; }
// BGM 플레이 public void PlayBGM(eBGM _bgm) { Debug.Log("PlayBGM"); bool isLoop = true; // 플레이 중인 BGM이 있다면 if (bgmAudio.clip != null) { // 플레이 중인 BGM과 같지 않으면 if (bgmAudio.clip != bgmList[( int )_bgm].clip) { if (isChangingBGM == true) { bgmAudio.Stop(); StopCoroutine("ChangeBGM"); } // BGM체인지 bgmAudio.loop = isLoop; StartCoroutine("ChangeBGM", _bgm); } } // 플레이 중인 BGM이 없다면 무조건 플레이 else { bgmAudio.loop = isLoop; bgmAudio.clip = bgmList[( int )_bgm].clip; bgmAudio.volume = bgmList[( int )_bgm].volume; bgmAudio.Play(); } }
public void PlayBGM(eBGM bgm, bool loop = true) { BGMData bgmData = BGM.Find(data => data.BGM == bgm); if (bgmData != null) { AudioSource_BGM.clip = bgmData.AudioClip; AudioSource_BGM.loop = loop; AudioSource_BGM.Play(); } }
public void PlayBGM(eBGM bgmName, bool isLoop = true) { if (bgmName == BGM_Now) { return; } AudioClipBGM = null; AudioClipBGM = Resources.Load <AudioClip>("Music/BGM/" + bgmName.ToString()); if (AudioClipBGM != null) { BGM_Now = bgmName; AudioSourceBGM.clip = AudioClipBGM; AudioSourceBGM.loop = isLoop; AudioSourceBGM.Play(); } }
public void PlayBGM(eBGM eBGM) { BGMsource.clip = BGM[(int)eBGM]; BGMsource.Play(); }