Example #1
0
    private void Flash()
    {
        _nowTime += Time.deltaTime;
        if (_nowTime < _fadeSpeed)
        {
            return;
        }
        switch (_mode)
        {
        case FADE_MODE.IN:
            _alpha = _gage.max;
            _mode  = FADE_MODE.OUT;
            break;

        case FADE_MODE.OUT:
            _alpha = _gage.min;
            _mode  = FADE_MODE.IN;
            break;

        case FADE_MODE.NON:
            break;

        default:
            break;
        }
        _nowTime = 0;
    }
Example #2
0
    /// <summary>
    /// 如果isBG
    /// TRUE,会连续接着播放背景长音
    /// FALSE, 是音效
    /// </summary>
    /// <param name="name"></param>
    /// <param name="isBG"></param>
    public void Play(string name, bool isBG = false)
    {
        if (s == null)
        {
            s = GetComponents <AudioSource>();
        }
        int sIndex = isBG ? 1 : 0;

        if (isBG)
        {
            mode             = FADE_MODE.FADE_IN;
            s[sIndex].volume = 0;
            bgPlaying        = true;
        }
        else
        {
            s[sIndex].ignoreListenerPause = true;
        }
        for (int i = 0; i < list.Length; i++)
        {
            SoundInfo info = list[i];
            if (info.name == name)
            {
                if (isBG)
                {
                    bgInfo = info;
                }
                SetNextPlay(info, s[sIndex], isBG);
                return;
            }
        }
    }
Example #3
0
    // Update is called once per frame
    void Update()
    {
        if (fadeMode != FADE_MODE.FADE_NONE)
        {
            // 画面を暗転化する
            if (fadeMode == FADE_MODE.FADE_OUT)
            {
                _child.GetComponent <Image>().color = new Color(color.r, color.g, color.b, color.a);
                color.a += speed;
            }
            // 画面を見えるように戻す
            else if (fadeMode == FADE_MODE.FADE_IN)
            {
                _child.GetComponent <Image>().color = new Color(color.r, color.g, color.b, color.a);
                color.a -= speed;
            }

            // 制御
            if (color.a > 1.0f)
            {
                Debug.Log("画面暗転終了");
                // フェードINへ移行
                fadeMode = FADE_MODE.FADE_IN;
                // シーン移行
                SceneManager.LoadScene(nextScene);
            }
            else if (color.a < 0)
            {
                Debug.Log("フェード終了");
                // フェード終了
                color.a  = 0;
                fadeMode = FADE_MODE.FADE_NONE;
            }
        }
    }
Example #4
0
 public void FadeOut()
 {
     if (s == null)
     {
         return;
     }
     mode = FADE_MODE.FADE_OUT;
 }
Example #5
0
 // Use this for initialization
 void Awake()
 {
     debugText = "";
     mode      = FADE_MODE.FADEMODE_NONE;
     nextScene = null;
     fadeCount = fadeTime;
     matFade.SetFloat("_Percent", 0.0f);
 }
Example #6
0
    static public void Fade(FADE_MODE fadeMode, string sceneName = "")
    {
        mode = fadeMode;

        if (string.IsNullOrEmpty(sceneName))
        {
            return;
        }

        nextScene = sceneName;
    }
Example #7
0
 private void FadeOut()
 {
     _alpha -= _fadeSpeed * Time.deltaTime;
     if (_alpha < _gage.min)
     {
         _alpha = _gage.min;
         if (_loop)
         {
             _mode = FADE_MODE.IN;
         }
     }
 }
Example #8
0
 private void FadeIn()
 {
     _alpha += _fadeSpeed * Time.deltaTime;
     if (_alpha > _gage.max)
     {
         _alpha = _gage.max;
         if (_loop)
         {
             _mode = FADE_MODE.OUT;
         }
     }
 }
Example #9
0
    // Use this for initialization
    void Start()
    {
        nextScene = null;             // 次のシーン初期化
        fadeMode  = FADE_MODE.FADE_NONE;

        // 色の初期化
        color.r = _child.GetComponent <Image>().color.r;
        color.g = _child.GetComponent <Image>().color.g;
        color.b = _child.GetComponent <Image>().color.b;
        color.a = 0;

        SetTexture(texture);
    }
Example #10
0
    // フェードをセットする
    public bool SetFade(string next)
    {
        if (fadeMode == FADE_MODE.FADE_NONE)
        {
            Debug.Log("フェード呼び出し : " + next);

            color.a   = 0;                  // アルファ値初期化
            nextScene = next;               // 次のシーン
            fadeMode  = FADE_MODE.FADE_OUT; // フェードOUTへ
            return(true);
        }
        return(false);
    }
Example #11
0
    //フェイドアウトとフェイトインを切り替える
    public void ChangeFadeMode()
    {
        switch (fadeMode)
        {
        case FADE_MODE.Out:
            gage     = fadeInDef;
            fadeMode = FADE_MODE.In;
            break;

        case FADE_MODE.In:
            gage     = fadeOutDef;
            fadeMode = FADE_MODE.Out;
            break;

        default: break;
        }
    }
Example #12
0
    void Update()
    {
        switch (mode)
        {
        case FADE_MODE.NONE:
            break;

        case FADE_MODE.FADE_IN:
            if (s != null && s[1].volume < 1)
            {
                s[1].volume += 0.05f;
                if (s[1].volume >= 1)
                {
                    mode = FADE_MODE.NONE;
                }
            }
            break;

        case FADE_MODE.FADE_OUT:
            if (s != null && s[1].volume > 0)
            {
                s[1].volume -= 0.05f;
                if (s[1].volume <= 0)
                {
                    mode = FADE_MODE.NONE;
                    StopBg();
                }
            }
            break;
        }

        if (bgPlaying)
        {
            if (!s[1].isPlaying)
            {
                SetNextPlay(bgInfo, s[1], true);
            }
        }
    }
Example #13
0
    // Update is called once per frame
    void Update()
    {
        if (mode == FADE_MODE.FADE_IN)
        {
            //アルファ値を減らしていく
            alpha -= FADE_RATE;

            if (alpha <= 0.0f)
            {
                alpha = 0.0f;
                mode  = FADE_MODE.FADE_IN_FINISH;
            }

            //実際の色を変更
            Image img = GetComponent <Image>();
            Color col = img.color;
            col.a     = alpha;
            img.color = col;
        }
        else if (mode == FADE_MODE.FADE_OUT)
        {
            //アルファ値を増やしていく
            alpha += FADE_RATE;

            if (alpha >= 1.0f)
            {
                alpha = 1.0f;
                mode  = FADE_MODE.FADE_OUT_FINISH;
            }

            //実際の色を変更
            Image img = GetComponent <Image>();
            Color col = img.color;
            col.a     = alpha;
            img.color = col;
        }
    }
Example #14
0
 //-------------------------------------------------------------------------
 // フェードアウト開始
 //-------------------------------------------------------------------------
 public void FadeOut()
 {
     mode = FADE_MODE.FADE_OUT;
 }
Example #15
0
 //-------------------------------------------------------------------------
 // フェードイン開始
 //-------------------------------------------------------------------------
 public void FadeIn()
 {
     mode = FADE_MODE.FADE_IN;
 }
Example #16
0
    private void Update()
    {
        if (Debug.isDebugBuild)
        {
            frameCount++;
            float time = Time.realtimeSinceStartup - prevTime;

            if (time >= 0.5f)
            {
                fps = frameCount / time;

                frameCount = 0;
                prevTime   = Time.realtimeSinceStartup;
            }
        }

        if (Input.GetKeyDown(KeyCode.Escape))
        {
#if UNITY_EDITOR
            EditorApplication.isPlaying = false;
#else
            Application.Quit();
#endif
        }

        if (mode == FADE_MODE.FADEMODE_NONE)
        {
            return;
        }

        bool IsLoad = false;

        if (mode == FADE_MODE.FADEMODE_IN)
        {
            fadeCount -= Time.deltaTime;
            if (fadeCount < 0)
            {
                fadeCount = 0.0f;
                mode      = FADE_MODE.FADEMODE_IN_FINISH;
                if (!string.IsNullOrEmpty(nextScene))
                {
                    IsLoad = true;
                }
            }
        }
        else if (mode == FADE_MODE.FADEMODE_OUT)
        {
            fadeCount += Time.deltaTime;
            if (fadeCount > fadeTime)
            {
                fadeCount = fadeTime;
                mode      = FADE_MODE.FADEMODE_OUT_FINISH;
                if (!string.IsNullOrEmpty(nextScene))
                {
                    IsLoad = true;
                }
            }
        }

        matFade.SetFloat("_Percent", fadeCount / fadeTime);

        if (!IsLoad)
        {
            return;
        }

        string nextSceneBuf = nextScene;
        nextScene = null;
        SceneManager.LoadScene(nextSceneBuf);
    }