Quad UIについての続き。
この項目はQuad UIを試す!のその1とその2の続き。
今回はボタンを作成してイベント登録する方法について。
■ボタンの作成方法
Window→Quad UI Editorを選択し、エディタを開く。
ボタンに使うマテリアルを選択し、ClassをButtonに変更。
ボタンに利用する画像をMaterialから切り出し、Framesに登録する。
名前も忘れずにつける。今回はButtonと入力。
で、Bake!をクリック。
■ボタンを動作可能にする
ここからが少々めんどくさい。
まずCreate EmptyでGameObjectを作成し、作成したオブジェクトに
Component→Quad UIにあるQuad UI(Main)コンポーネントを登録する。
作ったオブジェクトはMenuと改名しておく。
次にMenuオブジェクトのInspectorを確認して、
QuadUIコンポーネントのCameraを、利用するCameraに設定する。
ここまでやったら、とりあえずボタンは動作するようになる。
実際に動かしてみて、ボタンが押せる事を確認しておくが吉。
■イベントを登録する。
ボタンの動作が確認できたので、次はボタンにイベントを登録する。
まずMenuクラスを作成。MenuクラスはScreen2Dを継承させる。
で、次のソースを入力して、
Menuオブジェクトに付与する。
簡単に解説を。
まずButton2D playButton、これはButtonのインスタンスを取得する用のオブジェクト。
このオブジェクトからボタンにアクセスする。
で、overrideしたInitメソッドで、playButtonにイベントを登録する。
登録方法は、AddEventListener( イベントタイプ, 実行メソッド)。
この実行メソッドは、引数がEQEQEvent eのメソッドなら何でもいいらしい。
今回は、pushメソッドを作成しDebug.Logでコンソールにpushと表示する。
最後にplayButtonと画面のButtonを関連付ける。
MenuオブジェクトのInspectorのMenuコンポーネントを開き、
PlayButtonにButtonを登録する。
これでイベントが登録が完了。
Buttonを押した時にコンソールにpushと表示されるようになる。
(コンソールはWindow-Consoleにある)
ちなみに、本来この機能は
複数のメニュー画面を管理・入れ替えできる機能らしい。
とはいえ、とりあえずボタンを登録して使えれば十分なので、ここまで。
次回はスプライトアニメーションについて書けるといいな。