// Use this for initialization void Start() { //フェード状態初期化 fadeActionState = FadeActionState.SceneStart; isSceneEnd = false; //カラー保存 fadeColor = fadeImage.color; //α値初期化 fadeColor.a = alpha; //カラー帰還 fadeImage.color = fadeColor; }
// Update is called once per frame void Update() { //フェード状態によって処理を変更 switch (fadeActionState) { //シーン開始時 case FadeActionState.SceneStart: //αを減らしていく alpha -= Time.deltaTime / 2; //透明になったら if (alpha <= 0.0f) { isSceneStart = true; //状態遷移 fadeActionState = FadeActionState.Stay; } break; //待機状態 case FadeActionState.Stay: //シーン終了可になったら if (isSceneEnd) { //状態遷移 fadeActionState = FadeActionState.SceneEnd; } break; //シーン終了時 case FadeActionState.SceneEnd: //αを増やしていく alpha += Time.deltaTime / 2; //イメージが表示されたら if (alpha >= 1.3f) { //シーン移行 SceneManager.LoadScene(nextScene); } break; } //α値更新 fadeColor.a = alpha; //カラー帰還 fadeImage.color = fadeColor; }