表示するサンプルコードの言語を指定できます。
トランジション (Transition)
概要
トランジションはシーンを変更する際に、画面が瞬間的に切り替わるのではなく何かしらの画面効果を加えてシーンを変更する機能です。例えば、フェードイン・フェードアウトといった画面効果を与えます。トランジションはシーンを変更する際にEngine.Change.ChangeSceneWithTransition
の引数にトランジションのインスタンスを与えることで使用できます。
注意する点としてトランジションを設定した場合は即座にシーン変更が行われない点があります。例えばフェードの場合、フェードアウトが終わるまでは前のシーンの更新が実行され、フェードインが開始されてから次のシーンの更新が実行されます。既にトランジションが実行されている最中に、更にシーンを変更しようとすると予期せぬ挙動が発生する可能性があります。
トランジションにはメソッドが存在しますが、基本的にそれらのメソッドはトランジションの機能を自分で開発したい人向けであり通常のユーザーはシーンを変更するときにトランジションを継承したクラスのインスタンスを渡すだけでトランジションの機能を使用できます。
トランジションは既に用意されているトランジションの他に自分でトランジションを開発できます。Transition
クラスを継承し動作を定義することで新たなトランジションを実現できます。OnUpdate
を継承し、毎フレームの更新の内容を記述します。ここでは、主にトランジションの描画内容の指定、シーンが変更されるタイミング、及びトランジションが終了するタイミングを指定します。DrawTriangleWithPreviousScene
とDrawRectangleWithNextScene
でシーンを画像として描画し、ChangeScene
で前のシーンから次のシーンへ変更、Finish
でトランジションを終了します。
シーンが変更されるまでは次のシーンは描画できず、変更した後は前のシーンは更新が停止してしまうので、最終フレームが描画されます。
主なメソッド
名称 | 説明 |
---|---|
ChangeScene | シーンを次のシーンに変更します。トランジションの機能を自分で開発する人向けです。 |
Finish | トランジションを終了します。トランジションの機能を自分で開発する人向けです。 |
DrawTriangleWithNextScene | 次のシーンを画像として三角形に貼り付けて描画します。トランジションの機能を自分で開発する人向けです。 |
DrawTriangleWithPreviousScene( | 前のシーンを画像として三角形に貼り付けて描画します。トランジションの機能を自分で開発する人向けです。 |
主なプロパティ
主なイベント
名称 | 説明 |
---|---|
OnUpdate | 毎フレーム実行される更新イベント |
使用方法
トランジションの例としてTransitionFadeクラスのサンプルを提示します。