コンテンツにスキップ

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 メソッドでトリガを引いた後に発生します。