Example #1
0
        /// <summary>
        /// フェードインかフェードアウトを、指定の秒数で実行します。
        /// stopBGMをtrueにすると、フェードに合わせてBGMを停止します。
        /// </summary>
        /// <param name="type">フェードアウトかフェードインかをFADEで指定</param>
        /// <param name="color">フェードの色</param>
        /// <param name="time">秒数</param>
        /// <param name="stopBGM">BGMをフェードに合わせて停止したい時、true</param>
        public static IEnumerator StartFade(FadeStateType type, Color color, float time, bool stopBGM = false)
        {
            if (fadeImage == null)
            {
                yield break;
            }

            FadeState = type;
            if (stopBGM)
            {
                SoundController.StopBGM(true);
            }
            float startTime = Time.time;
            Color nowColor;

            nowColor        = color;
            nowColor.a      = type == FadeStateType.In ? 1f : 0f;
            fadeImage.color = nowColor;

            fadeImage.enabled = true;
            while (time > 0f && ((Time.time - startTime) <= time))
            {
                // フェードイン中
                float keika = (Time.time - startTime) / time;
                if (type == FadeStateType.In)
                {
                    nowColor.a = 1f - keika;
                }
                else
                {
                    // フェードアウト中
                    nowColor.a = keika;
                }
                fadeImage.color = nowColor;

                NowColor = nowColor;

                yield return(null);
            }

            nowColor.a      = type == FadeStateType.In ? 0f : 1f;
            fadeImage.color = nowColor;
            NowColor        = nowColor;
            if (type == FadeStateType.In)
            {
                fadeImage.enabled = false;
            }

            FadeState = FadeStateType.None;

            if (stopBGM)
            {
                SoundController.StopBGM();
            }
        }
Example #2
0
 /// <summary>
 /// フェードインかフェードアウトを、指定の秒数で実行します。
 /// stopBGMをtrueにすると、フェードに合わせてBGMを停止します。
 /// </summary>
 /// <param name="type">フェードアウトかフェードインかをFADEで指定</param>
 /// <param name="time">秒数</param>
 /// <param name="stopBGM">BGMをフェードに合わせて停止したい時、true</param>
 public static IEnumerator StartFade(FadeStateType type, float time, bool stopBGM = false)
 {
     return(StartFade(type, defaultColor, time, stopBGM));
 }