ゆにてく備忘録

Unityやその他学んだ事を忘れないために書くぶろぐ

uGUIチュートリアル まとめ6 UI EventとEvent Trigger

UnityのuGUIのチュートリアル(UI EventとEvent Trigger)のまとめです.


UI Events and Event Triggers - Unity Official Tutorials

UI EventとEvent Trigger

f:id:n_taku:20170417234215p:plain

UIを選択した時や押した時,タップなどのイベントを制御している. EventSystem(Script)とStandAloneInputModule(Script)で制御する.

EventSystem(Script)

f:id:n_taku:20170420234741p:plain

FirstSelected

開始時にデフォルトで選択状態にするUIを指定する.
PCとかで設定する項目で,ButtonでいうとHighlighed状態となる.

Send Navigation Event

Onにすると,キーボードなどで選択操作をした時に発生するナビゲーションイベント(OnMove,OnSubmit,OnCancelイベント)を有効にする.

Drag Threshold

ドラッグを開始したと判定される移動距離をピクセル単位で指定する.ScrollViewなどで使用するドラッグの閾値

StandAloneInputModule(Script)

f:id:n_taku:20170420234736p:plain

Horizontal Axis,Vertical Axis,Submit Button,Cancel Button

それぞれの操作に対応するInput Managerの設定を指定する. Input Manager↓

f:id:n_taku:20170418231809p:plain

f:id:n_taku:20170418231802p:plain

Input Action Per Second

1秒間に何回入力を受け入れるかを指定できる.デフォルトで10が設定されている.

Repeat Delay

連続して入力を行っていると判定するまでの時間の指定.この指定により予期せず連続して入力が行われていると判定されなくなる.

Force Module Active

モバイルデバイスでも上の設定を有効にするのかどうかを指定する.基本的にスマホなどにコントローラーは使用しないので,オフでしか使わなそう.

Eventの種類

インタラクティブなUI要素(ボタンなど)でUIごとに決められているデフォルトイベントと,Event Trigger経由で設定できるイベントがある.

デフォルトイベント

uGUIのボタンではOnClickイベントがデフォルトで設定できるようになっていて,関数をInspector上もしくはScript上から設定できる.Inspector上から設定する時.

f:id:n_taku:20170419233438g:plain

Script上から設定する時

gist38baba7df6bfaf8d0b03c52758d1d5d6

Event Triggerイベント

デフォルト以外のイベントをキャッチしたい時はEvent Trigger(Script)を用いる.Event Trigger(Script)を用いれば,デフォルトではタップイベントを受け付けないUI ImageなどにもEventを設定できる.ここから設定できるイベントの詳細はここ.このイベントをInspector上から設定する時f:id:n_taku:20170420232935g:plain

Script上から設定する方法は,EventTriggerを継承する方法とEventTriggerに対してdelegateを設定する方法の二つある.EventTriggerを継承する場合

gist611e5aaf40a767e572bb93d0d8a0f11e 

delegateを設定する場合

gist0208ddb430476bced981c38a0b909df9

設定できるEventTriggerType

gist8cf9d0b1eec69c253992564d9f845446

 

 

参考URL