Set Sleep (Direct)
スリープを設定する (Direct)
ASTER::ACTION::ObjectControl
::Sleep ( LPRO Direct )
パラメータ .1
オブジェクトインスタンスを選択 (コンディションで選択された条件に一致するオブジェクトを指定)
パラメータ .2
文字列で三つのパラメータをまとめて送信する.
e.g. "30,-1,30"
30
FrameTimes (sleep) , -1
(repetition = infinite loop) , 30
FrameTimes (waiting)
-
時間単位はアプリケーションのフレームタイム、+値の整数を入力してください。プラス符号のみ利用できます。
-
繰り返し (repetition value) は -1 が無限ループ、0 は Sleep 動作の中止、+1 以上の数値が繰り返し回数指定になります。
-
時間単位はアプリケーションのフレームタイム、+値の整数を入力してください。次回 Sleep までの待機時間です。
注意点.1
e.g. (構文エラーの例)
" -30 , 9, -30," <!--マイナス符号を利用してはいけない値にマイナス符号を利用、不要なカンマの挿入. -->
注意点.2
可読性向上のためホワイトスペース挿入に制限はありません。以下例も書式エラーにはなりません。
e.g. ( ホワイトスペースを挿入した例 )
" + 3 0 , - 1 , + 3 0 "
注意点.3
0
に指定することで Sleep を無効化します。repetition -1
は待機時間を挟んで無限に Sleep 動作を繰り返す指定、+1
以上の数値は指定待機時間後に再度 Sleep に入る処理を何回繰り返すかを示します。
e.g. "-1"
« 無限に繰り返す
e.g. " 0"
« Sleep 命令の解除・無効化
e.g. " 1"
« 1 回実行する.
e.g. " 2"
« 2 回繰り返す..
e.g. " 3"
« 3 回繰り返す…
注意点.4
Sleep 動作中のオブジェクトインスタンスに新規 Sleep 命令を発行すると新しい値で上書きされます。
この仕様が Sleep 動作の repetition 延長を可能にしていて、同時に Sleep 動作の停止・中断も可能にしています。
注意点.5
Sleep は各モーション共通の動作拡張機能です。互換性のある動作として Wrap|Flip , Sine wave , MoveTowards に対応しています。
注意点.6
Sleep と Stop はどちらも効果は「一時停止」で機能的に似ていますが、Stop は Sleep よりも上位の基本命令で Null 以外の全動作に対応しています。
注意点.7 Stop と Sleep の違い
Sleep は「時間指定」と「繰り返し指定」を持つ「停止命令」としてデザインされ、命令に対して新しい命令で設定上書きが可能です。
Stop には「時間 (frame times)」「繰り返し (repetition) 」指定が無く、代わりに「切り替え (toggle) 」命令があります。 Stop は Sleep 中のインスタンスも停止できますが、Sleep は Stop 命令に介入できません。Stop 中のインスタンスに Sleep 命令を発行すると停止した状態で Sleep 命令が発行されます。Stop が解除された時点から Sleep 命令の実行に移ります。
各命令には上位下位区別があり、最上位命令である Reject は優先実行と命令の上書き禁止、そして下位命令である Stop や Sleep の影響を受けません。Stop は Sleep の上位命令で、Sleep は Stop の下位命令です。