Event Detection

Explanation of New Functions


Details
Description of EventDetect

「ASTER」内部で発生した様々なイベントを CF25 の即時実行条件で検出できます。

Condition 以外に Expression もあり、正確な動作タイミング以外に操作対象や関連情報の絞り込みが可能。

Event Detect とは

ASTER の各種機能は内部的にイベント・トリガーの発生を検出し、それを適時処理するプログラムで構成されています。

簡単な例としては REGEX で構文エラーが検出された時エラーメッセージを表示する機能も、「エラー」というイベントをトリガーとして即時発動するプログラムです。エラー発生を CF25 に ASTER が通知しています。

ASTER :: Show Error Message Windows
エラー発生時にメッセージ表示の有無を決定するプロパティ画面。 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 の条件判定の実行には優先順位があり、「即時実行条件」は割り込み処理によって実行が優先されます。




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 タイミングで得られるインスタンス情報

  • インスタンスの座標情報 ( X | Y coordinates )

  • インスタンスの固定値 ( Fixed Numbers )

ASTER :: Orbital Motion
Event Detection のタイミングで指定角度到達時エフェクトを出す作例

Event Detection List of Functions

The list is still incomplete.