Event Detection
Explanation of New Functions
Details
「ASTER」内部で発生した様々なイベントを CF25 の即時実行条件で検出できます。
Condition 以外に Expression もあり、正確な動作タイミング以外に操作対象や関連情報の絞り込みが可能。
Event Detect とは
ASTER の各種機能は内部的にイベント・トリガーの発生を検出し、それを適時処理するプログラムで構成されています。
簡単な例としては REGEX で構文エラーが検出された時エラーメッセージを表示する機能も、「エラー」というイベントをトリガーとして即時発動するプログラムです。エラー発生を CF25 に ASTER が通知しています。
イベントを検出すると 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 の条件判定の実行には優先順位があり、「即時実行条件」は割り込み処理によって実行が優先されます。
Event Detect のイベントトリガー例
Event Trigger | Type | Actions |
---|---|---|
インスタンスが指定された座標に到達 | Motion | Flip : Wrap |
指定した角度に到達 | Motion | Orbital |
正規表現で一致があった | REGEX | Match : Search |
JSON でターゲットパスを指定した | JSON | Targeted JSON Pointer |
例えばこれらイベントをトリガーとした即時実行条件は ASTER 内部で起こっているイベントのタイミングを正確に CF25 へ知らせることができます。
同時に ASTER はイベントが発生しているオブジェクト・インスタンスの固定値や、位置情報などインスタンスを特定し命令を発行するための必要情報も共有します。これら仕組みを上手く使えば ASTER 内部で起こったイベントと同期するタイミングで CF25 イベントを作ることが容易になります。
Event Detect タイミングで得られるインスタンス情報
インスタンスの固定値 ( Fixed Numbers )
Event Detection List of Functions
-
( 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
The list is still incomplete.