トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

unity_ngui_callback_event

[NGUI] イベントを受ける際の注意点


Unity 4.3.4+NGUI 3.4.8(3.0.9f7)で確認。
NGUIの他のバージョンでは未確認。
もしかしたら自身の実装で別の原因があるのかもしれません、というお断りを先に書いておきます。

NGUIでは、ButtonプッシュやTween Positionの移動終了、などのタイミングで呼び出されるイベント関数を指定することができます。

これが呼び出されるタイミングは、MonoBehaviour派生クラスのStart関数が終わったよりも後だと思っていたのですが、
Android SDK上のエミュレータの遅い環境で実行した際、Start関数よりも前に呼ばれる場合がありました。
しかも、本来は呼ぶタイミングではないときにコールされたり。
実機でも、ごくごくまれに発生。

原因は不明ですが、このコールバック関数はStart関数(初期化)が呼ばれるよりも前にキックされる場合もある、ということで
念のため、Start関数が終わったかどうかをboolのフラグで管理して、それを見てまだStartが完全に終了していない場合は個々のコールバック関数内で問答無用でreturnする、など対策するほうがよいかもしれません。
再現するかどうかは、非常に環境依存ではありました。


最終更新時間:2014年05月13日 10時31分33秒