While (LogiXノード)
Jump to navigation
Jump to search
While | ||
---|---|---|
![]() | ||
Inputs | ||
Impulse | Run | |
Bool | Condition | |
Outputs | ||
Impulse | LoopStart | |
Impulse | LoopIteration | |
Impulse | LoopEnd |
Whileノードは Run
へインパルスを入力した後、Condition
が True になるまで LoopIteration
出力からインパルスを出力するために使われます。
使用方法
LoopStart
出力は Run
へインパルスを入力した後に1回インパルスを出力します。インパルスチェーンは、LoopIteration
からインパルスが発射される前に完了します。
LoopIteration
出力は、Condition
がTrueになるまでインパルスを順次出力します。LoopIteration
から始まる各インパルス連鎖は、次のインパルスが発射される前に完了します。
LoopEnd
出力は、LoopIteration
から始まった最終インパルス連鎖が終了すると、インパルスを出力します。
このノードから開始されるすべてのインパルス連鎖は、Run
に到達したものを効果的に継続することに注意してください。LoopIteration
からのすべてのループは、1つのフレームの更新の中で完了します。フレームが過度に遅延した場合、このノードをエラー状態 (ノードのビジュアルが赤くなる) にするフェイルセーフがあります - これは完全なフリーズを防ぐのに役立ちます。
例
Whileノードは、ループ処理で必要な反復回数を事前に決定できない場合に有効です。同様のループ動作が必要だが、必要な反復回数が確定できる場合は、代わりにForノードを使用します。