ASTER::ACTION::ObjectControl::Reject ( LPRO Directly )

変数値を使ったコンディションで一致した値を持つオブジェクトインスタンス、あるいはマウスクリックされたオブジェクトインスタンス、などを指定する。特定条件に一致した各オブジェクトインスタンスが持つ「固定値」、これを ASTER に送信します。

ByName と違い Directly では条件一致したオブジェクトインスタンスを個別指定できるので、グループ単位で登録解除する場合は ByName 、条件一致で登録解除したい場合は Directly と命令を使い分けします。


パラメータ .1

登録を解除したいオブジェクトインスタンスを選択します。

コントローラにはアクティブ ( スプライト ) のみ登録可能です。

コントローラにはアクティブ ( スプライト ) のみ登録可能です。


パラメータ .2

遅延実行用の数値を入力します。

e.g. 60 «

フレームタイムなので整数値、60 FPS 動作のアプリケーションの場合、60 と入力したら約一秒後に登録が解除されます。

e.g. 0 « 即時に登録解除します.


注意点.1

データベースの検索効率を上げるため、オブジェクトインスタンスをモーションコントローラに登録する際、オブジェクトの予約変数を使ってモーションタイプ ID という 0 ~ 4 の整数値を自動的に割り振っています。

この Motion Type ID = 予約変数[1] を検索に利用し登録解除を試行する仕組みなので、予約変数の値が不正だと検索に失敗します。検索に失敗した場合、登録解除も失敗します。




注意点.2

Reject はモーションコントローラにおける最上位系の命令です。下位の他命令が発行されても影響を受けず、一度発行された命令に対する上書き更新や実行停止・キャンセルが効きません。

すでに Reject 命令と同種の命令が対象オブジェクトに対して発行されている場合、後から発行された Reject 命令は無効化されます。




注意点.3

Reject 命令はグループ名を指定して登録解除を試行する「 By Name 」系と、オブジェクトインスタンスのメモリアドレスを検索して登録解除を試行する「 Direct 」系、二種類があります。

この二種類に Destroy 機能を持たせた命令が加わると Reject 命令は合計四種類、「 By Name 」で遅延実行の数値が 0 かつ全登録インスタンスが対象の場合「完全即時消去」という命令が発行され、これを加えると五種類になります。

五種類すべてが権限的に同等、先に発行された命令が優先権を持ちます。



  Type List
                                                 + Immediate  + - - - + Destroy
                                                 |
             + - - - + Reject ( Directly ) - - - + Time Delay + - - - + Destroy
Reject - - - |
             + - - - + Reject ( By Name  ) - - - + Time Delay + - - - + Destroy 
                     |                           |
                     |                           + Immediate  + - - - + Destroy
                     |
                     + Reject (   ALL   )  - - - + Immediate  + - - - + Destroy ( 完全即時消去 )