MvUtl: Cache Related Oi


ASTER::ACTION::MotionControl::MvtUtil: Cache as a Releted Object Instance

Rev.0.9.15 で実験している機能。指定インスタンスに別インスタンスを関連付けする。

Clickteam の公式機能に親子関係でペアを作る機能があり、それを拡張機能で少し再現したもの。

クリックチームの公式モーション機能を利用しないという前提で機能実装されています。インスタンスが事前確保しているメモリ領域にはモーションを利用しない場合に事実上まったく利用されていない領域があり、これを勝手に再利用します。ほぼ間違いなく「勝手に使っちゃダメぇ領域」なので、自己責任で使います。致命的な不具合が出たら別の方法を考えます。


Parameter

個別インスタンスを指定するイベントを事前に作成し、関連付けしたい個別インスタンスを ASTER 経由で指定インスタンスに直接登録します。

ASTER::ACTION::HWND::TEST

Event Detect で取得したインスタンスに別インスタンスを関連付けするイベント例。

コントローラにはアクティブ ( スプライト ) のみ登録可能ですが、キャッシュ機能は実験的に制限を無くしてあります。

コントローラにはアクティブ ( スプライト ) のみ登録可能ですが、キャッシュ機能は実験的に制限を無くしてあります。


Note : ASTER は中継してるだけ

この機能は ASTER に Cache されるのではなく指定の個別インスタンスに別インスタンスのメモリ位置を送信し記録させます。

Cncf.h に記述がある rom.rmFree3 を利用しています。たぶんエクステンション開発者が勝手に使って良い領域ではなく、本家開発者が利用するためのリザーブ領域のようです。


Note : 何ができる?

関連付されたインスタンスを ASTER 経由で直接破壊指定できます。検索効率も高く、処理負荷が少ないです。

親子関係でペアを作っても子に破壊指令を直接出すことは CF25 にはできません。あるいは一時的に生成したオブジェクトが役目を終えた時、イベント行を分けずに直接破壊指定できればシンプルなイベントを作ることができます。

イベント行を減らしメンテナンス性を良くすることが目的の機能。

具体的な利用方法については動作サンプルをご覧ください。