AsyncTrigger¶
AsyncTrigger クラスは、いったん吉里吉里に制御が戻った直後のイベント配信のタイミングにイベントを発生させるためのクラスです。この機能を非同期トリガ ( asynchronous trigger ) と呼びます。
吉里吉里のようにイベント駆動型のプログラミングモデルをとるスクリプトにおいて、イベントハンドラ内では実行できないような処理 ( たとえばイベントの発生元のオブジェクトをそのイベントハンドラ内で無効化しようとするなど ) を、そのイベントハンドラ外で行いたい時に便利です。
メンバー一覧¶
コンストラクタ¶
プロパティ¶
メソッド¶
イベント¶
AsyncTrigger¶
コンストラクタ
引数
| 引数 | 既定値 | 説明 |
|---|---|---|
owner |
|
イベントの発生先を指定します。 |
actionname |
"action" |
owner で指定したイベントの発生先オブジェクトで、イベントを受け取るメソッド名を 指定します。空文字列を指定すると owner はメソッドとみなされ、イベントの発生ごとに owner が直接呼ばれます。 |
解説
AsyncTriger オブジェクトの構築
AsyncTrigger クラスのオブジェクトを構築します。
cached¶
プロパティ \ アクセス: r/w
解説
イベントをキャッシュするかどうか
イベントをキャッシュするかどうかを表します。値を設定することもできます。
真を指定すると、発砲までに何度 AsyncTrigger.trigger メソッドを呼んでも 発砲は1回だけとなります。
偽を指定すると、発砲までに呼んだ回数分、発砲されます。
mode¶
プロパティ \ アクセス: r/w
解説
モード
動作のモードを表します。値を設定することもできます。
以下の値のいずれかを指定します。
**atmNormal** : 通常のイベント配信の段階で発砲されます。
**atmExclusive** : 他の非同期イベントよりも優先されて発砲されます
**atmAtIdle** : アイドル状態 ( 他に配信するイベントが無くなったとき ) に発砲されます。
同時にトリガを引いたときに発砲される順序は atmExclusive, atmNormal, atmIdle の順になります。
同じモードのトリガが複数引かれている場合は、トリガが引かれた順に発砲します。
関連: Timer.mode
trigger¶
メソッド
解説
トリガを引く
イベントを発生させます。
このメソッドを呼んだ後、吉里吉里本体に制御が戻り、吉里吉里本体がたまった非同期イベントを配信する 段階になると AsyncTrigger.onFire イベントが発生します。
cancel¶
メソッド
解説
トリガのキャンセル
AsyncTrigger.trigger メソッドで引いたトリガをキャンセルします。
発砲前であればいつでもキャンセルできます。
onFire¶
イベント
解説
発砲するとき
AsyncTrigger.trigger メソッドでトリガを引いた後に発生します。