フェードインとフェードアウト完結編

先ほど書いた記事にも追記しましたが、フェードの処理をシングルトン&ジェネリックにしようと頑張ってようやく完成しました。

シングルトンとかジェネリックについて書いた記事はこちら

 

manakel.hatenablog.com

 

 

 

最終的にはキャンバスをFadeManagerに改名してフェードのイメージを取り付けました。それからそのイメージをFadeManagerスクリプトで参照して暗くしたり明るくしたりしました。

 

ちなみに参考にした海外のページはこちら

Unity3D screen fading scripts (using new UI) · GitHub

 

コードが書いてあったので見てみたら公式とほぼ一緒でした。でも、公式のままだとなぜか "guiTexture" で注意されたので、こっちのを真似ました。

 

スクリプトと同じオブジェクトにイメージが付いていないとシーンを移動したときに消えてエラーになるので注意しましょう。

 

それから、紹介した海外のサイトのままだとシングルトンに対応してないので、

Application.LoadLevel~ の後ろで、シーン開始のbool値(sceneStarting)をtrueにしました。

 

これで次のシーンが始まった時にもフェードで呼び出されます。

 

実際にゲームで使ったときに重くならないか心配ですが、どうなんでしょう・・・。

スペックの低いパソコンでもちゃんと動くか調べたいですね~。