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が終わった後に呼び出されるメソッド
この引数を上手く調整してあげるといい感じのフィードができます。