//シーン遷移用コルーチン
    private IEnumerator TransScene(SceneManage.SceneName sceneName, float interval, bool isAsync)
    {
        //暗転開始
        this.isFade = true;
        //暗転管理用のローカル変数
        float time = 0;

        //任意のintervalまで処理を続ける
        while (time <= interval)
        {
            //グローバル変数の透明度の値を
            //線形補完の計算式を使って変換する
            //Leap(a1,a2,float b1);
            //a1: 開始点 a2: 終了点 b1:比率分だけ進んだ値を返す
            this.fadeAlpha = Mathf.Lerp(0f, 1f, time / interval);
            //timeを加算
            time += Time.deltaTime;
            //一度処理を中断し、次フレームから再開
            yield return(0);
        }

        //シーン遷移
        //Application.LoadLevel(sceneName);
        SceneManage.Instance.SetNewScene(sceneName, isAsync);
        //タイムを初期化
        time = 0;

        //
        while (time <= interval)
        {
            //1から0になるまで繰り返す
            this.fadeAlpha = Mathf.Lerp(1f, 0f, time / interval);
            time          += Time.deltaTime;
            yield return(0);
        }
        //暗転処理終了
        this.isFade = false;
    }
    /// <summary>
    /// 非同期シーン用のコルーチン
    /// </summary>
    /// <returns>The scene.</returns>
    /// <param name="interval">Interval.</param>
    /// <param name="async">Async.</param>
    public IEnumerator FadeScene(float interval, AsyncOperation async, SceneManage.SceneName scene)
    {
        //暗転開始
        this.isFade = true;
        //暗転管理用のローカル変数
        float time = 0;

        //任意のintervalまで処理を続ける
        while (time <= interval)
        {
            //グローバル変数の透明度の値を
            //線形補完の計算式を使って変換する
            //Leap(a1,a2,float b1);
            //a1: 開始点 a2: 終了点 b1:比率分だけ進んだ値を返す
            this.fadeAlpha = Mathf.Lerp(0f, 1f, time / interval);
            //timeを加算
            time += Time.deltaTime;
            //一度処理を中断し、次フレームから再開
            yield return(0);
        }

        async.allowSceneActivation = true;            // シーン遷移許可
        SceneManage.Instance.SetSceneName(scene);
        //タイムを初期化
        time = 0;

        //
        while (time <= interval)
        {
            //1から0になるまで繰り返す
            this.fadeAlpha = Mathf.Lerp(1f, 0f, time / interval);
            time          += Time.deltaTime;
            yield return(0);
        }
        //暗転処理終了
        this.isFade = false;
    }
    /*
     *関数名	:LoadLevel
     *内容	:コルーチンの呼び出し:コルーチンを使えば一連の処理を一つの流れでかける
     *引数	:
     *戻り値	:
     */

    //コルーチンは一定時間処理を中断することができる
    public void LoadLevel(SceneManage.SceneName sceneName, float interval, bool isAsync)
    {
        //コルーチんに二つ以上を引数を渡す
        //コルーチンの呼び出し・開始
        StartCoroutine(TransScene(sceneName, interval, isAsync));
    }