【Unity】フェードイン・アウトを簡単に実現
前回のunity1weekチャレンジで作りたかったけど断念した
この機能を今のうちに用意したいな、なんか無いかなと思ったら
神おったーおったー!
kan-kikuchi.hatenablog.com
参考にさせてもらいます!
参考にして実装
そのまま使いたい所だが、それでは勉強にならない。
参考にしつつ自分なりにカスタマイズして身にしていきたい。
- 好き勝手なタイミングでFadeInOutさせたい。
- FadeInした後、待機時間を得てからOutしたい
- スッキリと1クラスにまとめる
というわけで実装コード。
詳しく解説は書かないけどシンプルなコードなので読めばわかると思う。
呼び出しはこんな感じで
public Fade fade;
public void Fire()
{
fade.FadeInStarted += FadeInStart;
fade.FadeInFinished += () => { Debug.Log("Fade in finished"); };
fade.FadeOutStarted += () => { Debug.Log("Fade out started"); };
// 2つのメソッドを呼ぶことも可能
fade.FadeOutFinished += FadeOutFinished1;
fade.FadeOutFinished += FadeOutFinished2;
fade.FadeStart();
}
private void FadeInStart()
{
Debug.Log("Fade in started");
}
private void FadeOutFinished1()
{
Debug.Log("Fade out finished 1");
}
private void FadeOutFinished2()
{
Debug.Log("Fade out finished 2");
}動作画面は割愛するけど、イベントはしっかり発行されているのを確認。

これは次に使いたいって事でメモ。