万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

フェードイン nGUI Unity

だんだん白が消えていくのを作りたい。

【Unity】シーン遷移時のフェードイン・フェードアウトを実装してみた | naichilab - Android iOSアプリ開発メモ を参考にした。これはnGUIではないが、応用できる。

using UnityEngine.UI;

を忘れず、

画面全体の画像はこれで、インスペクターなどでドラッグ忘れず。

public Image flashImage;

こいつで呼ぶ。

 public void RunFadein ()
    {
        StartCoroutine ("Fadein");
    }

これが実際のコード

 private IEnumerator Fadein ()
    {
        flashImage.enabled = true;
        float fadeAlpha = 1.0f;
        float interval = 2.0f;

        float time = 0.0f;
        while (time <= interval) {
            fadeAlpha = Mathf.Lerp (1f, 0f, time / interval);
            flashImage.color = new Color (1, 1, 1, fadeAlpha);
            time += Time.deltaTime;
            yield return 0;
        }

        flashImage.enabled = false;
        flashImage.color = Color.white;
    }

とすれば行ける。

float interval = 2.0f;はフェードインさせたい時間。

これらは、次回のためにリセットしている

     flashImage.enabled = false;
        flashImage.color = Color.white;

Color.whiteはnew Color (1, 1, 1, 1); なので白じゃない時は気をつけよう。