예제 #1
0
 void OnTriggerEnter(Collider collider)
 {
     if (collider.tag == ("Player"))
     {
         audio1.FadeOut();
         audio2.FadeOut();
         audio3.FadeOut();
         GetComponent <AudioSource>().Play();
         GetComponent <FadeOut>().shouldFade = true;
         StartCoroutine(ChangeScene());
     }
 }
예제 #2
0
        //再生(直前があればフェードアウトしてから再生)
        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);
                    }
                }
            }
        }