だんだん白が消えていくのを作りたい。
【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); なので白じゃない時は気をつけよう。