What About the Event Detection
ASTER 内部のイベント発生タイミングを検出、即時実行条件
ASTER::Condition::新機能解説
Event Detect とは
ASTER の持つ様々な機能は内部的にイベント・トリガーの発生を検出し、それを適時処理するプログラムで構成されています。
簡単な例としては REGEX でパラメータにエラーが検出された時エラーメッセージを表示する機能も、「エラー」というイベントをトリガーとして即時発動するプログラムです。エラーが発生したことを CF25 に ASTER が通知しています。
![](/cf2.5/aster/images/410_ASTER_Properties_Settings_Force_Popup_Err.gif)
エラーの発生を知らせるプロパティ設定
ASTER はこれ以外にも多くのイベントを処理していますが、特定のイベント発生タイミングを CF25 側に通知する機能の総称が「 Event Detect ( イベント検出 ) 」です。
イベントを検出すると CF25 に通知、同時に発生直後の変数値や関連情報も提供し ASTER と CF25 で機能的連携が容易になる仕組みを作っています。
即時実行条件とは
コンディション ( Condition ) は CF25 の条件判定機能、開発言語では一般的に If Condition
と呼称されている機能に相当します。変数値などを比較して値の大小や同一を調べ、結果に応じて分岐処理を実行する仕組み。
以下は C 言語の例です。
int a = 1;
int b = 2;
bool c;
if (a < b) c = true;
else c = false;
CF25 のコンディションは実行に優先順位があり、「即時実行条件」は条件一致した時に他通常命令よりも実行順が優先されます。
- オブジェクトが指定された位置に到達した
- 指定した角度に到達した
- 正規表現で一致があった
- JSON でターゲットパスを指定した
例えばこれらイベントをトリガーとして即時条件を実行すると ASTER 内部で起こっているイベントのタイミングを正確に CF25 へ知らせることができます。
同時に ASTER はイベントが発生しているオブジェクトの位置情報、固定値などインスタンスを特定し命令を発行するための必要情報も共有します。これら仕組みを上手く使えば ASTER 内部で起こったイベントと同期するタイミングで CF25 イベントを作ることが容易になります。
- オブジェクトの位置情報 ( X|Y position) )
- インスタンスの固定値 ( Fixed Numbers )
![](/cf2.5/aster/images/10k/10200_orbital_motion_with_sleep_sample.gif)
Event Detection で指定角度到達時エフェクトを出す動作例
Event Detection 機能一覧
-
( REGEX ) Condition :: REGEX Syntax Error Messages
-
( REGEX ) Condition :: Missmatch
-
( REGEX ) Condition :: If Matched ( Exact )
-
( REGEX ) Condition :: If Matched ( Partial )
-
( JSON ) Condition :: Error invalid JSON Pointer
-
( JSON ) Condition :: if targeted is Array
-
( JSON ) Condition :: if targeted is Type of Boolean and Value True
-
( JSON ) Condition :: if targeted is type of Boolean and Value False
-
( Object Control ) Condition :: Collision Detection with the Wall-A ( left )
-
( Object Control ) Condition :: Collision Detection with the Wall-B ( right )
-
( Object Control ) Condition :: Collision Detection with the Wall-C ( top )
-
( Object Control ) Condition :: Collision Detection with the Wall-D ( bottom )
-
( Object Control ) Condition :: If the registration of Name Group was terminated
-
( Object Control ) Expression :: Get An Angle for the Orbital Motion in Sleep
-
( Object Control ) Expression :: Get Sleep Counter Value