【Unity】画面の遷移にフィードの効果をつける

NGUIとは関係ないのですが、ボタンを押した時にSceneの移動をどうするか考えていました。 ゲームではよく利用するフィードを使った画面遷移。簡単に実装できるかと思いきや結構難しい処理が必要でした。

今回は、このフィードして画面を移動する方法を紹介します。

準備

結論。 下記Unityのコミュニケーションからコードを借りる。

この中にある[CameraFade.cs]を利用すれば簡単に実装できました。 本当は、コードの意味をしっかり理解する必要があると思うのですが、これをコピペしてフィードが実現できます。

Scriptを作成する

まずは、新規にC#のScriptを作成して、HP内にある[CameraFade.cs]をそのままコピペします。 これを使います。

実際に利用する

画面の遷移だけですと以下のコードをメソッド内で呼び出せば実現できます。 [c]

Application.LoadLevel("scene1");

[/c]

これにフィードの効果を付けるためには以下のようなコードに変更します。 [c]

CameraFade.StartAlphaFade(Color.black, false, 0.5f, 0.5f, () => { Application.LoadLevel("scene1"); });

[/c]

これで完了です。

CameraFade.StartAlphaFadeの引数の説明

元のコードを見たらだいたいわかると思うのですが、CameraFade.StartAlphaFadeの引数の説明をします.

  • 第一引数:フィードの色
  • 第二引数:fadeOutしたあとにfadeInするかどうか。trueだとfadeInした後に画面が遷移します
  • 第三引数:fadeの長さ
  • 第四引数:fadeが始まるまでの時間
  • 第五引数:fadeが終わった後に呼び出されるメソッド

この引数を上手く調整してあげるといい感じのフィードができます。