On this page
Bedtime
With Event Detect, Get the current Angle in sleep.
スリープ動作中、Orbital 動作の角度情報を取得
ASTER::EXPRESSION::ObjectControl
::Event Detect with, Get the Current Angle in Sleep ( Orbital )
スリープ動作中のインスタンスから Orbital の角度情報を得る。
Orbital
専用命令。
上記はスリープ中、かつスリープカウンタの値が 30
の時、という条件で実行される。
以下が応用例でイベントは実質 3
行。
Mod を使ってスリープカウンタ値をタイミング制御に利用して花火を作る。
パラメータ .1
角度情報の単位を 0
~ 359
の整数、または Clickteam の Animation Direction 仕様に基づいた値 ( 0
~ 31
) に変換して送信するかを選択できます。
整数値、0
か 1
を選択して代入。
e.g. 0
ExNumAG( "ASTER", 0 )
角度を 0 ~ 359 の整数で得ます。
e.g. 1
ExNumAG( "ASTER", 1 )
角度を 0 ~ 31 の整数で得ます。
注意点.1
Orbital の角度情報は Sleep 動作中にのみ Event Detect のタイミングで取得できます。Orbital の Sleep は Orbital 専用、他動作の Sleep でこの機能 ( 角度情報 ) は利用できません。
注意点.2
Event Detect は CF2.5 の標準機能である高速ループの仕組みに近く、まずインスタンスの数に応じて処理コストは高くなります。 短い間隔でスリープ動作のオンオフを継続するとこれも負荷が高くなります。
ASTER ベータ版では予約変数を使って角度情報をインスタンスに渡していました。この仕組みだと Sleep 動作時以外でも簡単に角度情報を得られましたが、ASTER 側で常時インスタンス変数へ値の代入と CF25 側で値比較が必要だがこの時 CF25 側でアクションループも常時発生していて、結局処理効率が悪いという判断で廃止になりました。
Sleep 時にという形で値を取得できるタイミングや条件を制限すれば、その方が総合的な処理コストは低くなるという計算です。