【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"); }
動作画面は割愛するけど、イベントはしっかり発行されているのを確認。
これは次に使いたいって事でメモ。