-
Notifications
You must be signed in to change notification settings - Fork 1
EventHandler
hoge1e3 edited this page Jun 6, 2019
·
9 revisions
registerEventHandler / EventMod
Tonyu外部からの(JavaScript関連の)イベントに対応するイベントハンドラを自作する場合に、このクラスを継承してください。
- target
- このイベントハンドラが処理するイベントの送付先となるオブジェクトです。
- registerEventHandlerメソッドが呼び出されたオブジェクトを指します。
継承したクラスは,newListenerメソッドをオーバーライドしてください.
-
targetで示さるオブジェクトに on(eventType,...) または waitEvent(eventType,...)が呼び出された時に呼び出されます。- ここで登場する、
eventTypeはregisterEventHandlerでこのイベントハンドラを登録したときの第一引数を指します
- ここで登場する、
- onが呼び出された場合、onに渡された引数の第2引数以降が引数に渡されます
- waitEventが呼び出された場合、waitEventに渡された引数の第2引数以降に、関数オブジェクトを1つ加えたものが引数に渡されます。この関数オブジェクトは、waitEventを呼び出した側に処理を再開させる際に呼び出してください。この呼出の第1引数がwaitEventの戻り値になります。
- 戻り値には、オブジェクトを返してください。これをlistenerオブジェクトと呼びます.
次の属性に関数を指定できます.
- action
- sentEvent/ fireEvent によってイベントが発生したときの処理を記述します.省略した場合は,newListenerの最後の引数が指定されます.
- dispose
- このonの呼出によって設定されたイベント処理を無効にする処理を記述します。
- 1つのオブジェクトを引数に渡して呼ばれます.オブジェクトには次の属性を含みます
-
listenerlistenerオブジェクト -
lastこのdisposeの呼び出しをもってすべてのイベント処理が削除される場合はtrue
-
IntervalEventHandler
extends EventHandler;
native setInterval;
native clearInterval;
\newListener(d, f) {
var t=setInterval(f, d);
return {
dispose: \{
clearInterval(t);
}
};
}MyActor
registerEventHandler("intervalMsec", new IntervalEventHandler);
on("intervalMsec",500) \{
x+=10;
};.