void OnTriggerEnter(Collider collider) { if (collider.tag == ("Player")) { audio1.FadeOut(); audio2.FadeOut(); audio3.FadeOut(); GetComponent <AudioSource>().Play(); GetComponent <FadeOut>().shouldFade = true; StartCoroutine(ChangeScene()); } }
//再生(直前があればフェードアウトしてから再生) void PlayFade(SoundData data, float fadeInTime, float fadeOutTime, bool corssFade) { //フェードアウト中のがあったら消す if (FadeOutAudio != null) { GameObject.Destroy(FadeOutAudio.gameObject); } //現在のオーディオがないなら即座に鳴らす if (Audio == null) { Audio = CreateNewAudio(data); //即時再生 Audio.Play(fadeInTime); } else { //今鳴っているものをフェードアウト FadeOutAudio = Audio; Audio = CreateNewAudio(data); FadeOutAudio.FadeOut(fadeOutTime); if (corssFade) { //即座に鳴らす Audio.Play(fadeInTime); } else { //フェードアウトを待ってから鳴らす if (Audio != null) { Audio.Play(fadeInTime, fadeOutTime); } } } }