■繰り返し命令 LOOP[ ]〜LOOPEND[ ]
指定した回数だけ、LOOP〜LOOPEND の中をループします。
LOOP[SET= 値 ]
・
・ (SETで指定した回数分、この中の命令が実行される)
・
LOOPEND[ ]
値に0がセットされた場合は、LOOP〜LOOPEND ブロックの中を一度も通らず、
LOOPEND 命令の次の位置から実行されます。
また、SET キーワードの記述を省略した場合、無限ループとなります。
システム変数 @_LC が、ループカウンタとして利用できます。
5回のループとした場合、1周ループする度に、@_LC の値が 1 〜 5 まで変化していきます。
LOOP の中にさらにLOOP を書くことが出来ます(LOOPのネスト)。
LOOP文は最大64回までネストすることが出来ます。
LOOP〜LOOPEND ブロックの中で、LOOPBREAK 命令を実行すると、
その時点で LOOP〜LOOPEND ブロックを抜け、LOOPEND 命令の次の位置から実行されます。
LOOP[SET= 値 ]
・
・
LOOPBREAK[ ] (ここで、LOOPEND まで飛ぶ)
・
・
LOOPEND[ ]
LOOP〜LOOPEND ブロックの中で、LOOPCONTINUE 命令を実行すると、
直前の LOOP 命令まで戻り、LOOP 命令の次の位置からやり直します。
その際、ループが1回分カウントされます。
LOOP[SET= 値 ]
・
・
LOOPCONTINUE[ ] (ここで、LOOP まで戻る)
・
・
LOOPEND[ ]
また、LV キーワードを使って、LOOPBREAK や LOOPCONTINUE で戻る際のネストレベルを
設定することもできます。
LOOP[SET= 値 ]
・
・
LOOP[SET= 値 ]
・
・
LOOPBREAK[LV=2] (ここで、いきなり※1の位置まで飛ぶ)
・
・
LOOPEND[ ]
・
・
LOOPEND[ ] // ※1
LOOPBREAK 命令で、通常はレベルが1段階戻るところを、LV=2 とすることで、
2段階ネストレベルが戻ります。
[1] 「レイヤーを1ドット右へ移動させる」処理と「1フレーム分待つ」処理を、100回繰り返す。
(※レイヤーを左から右へアニメーションさせる)
CG[ID=BG FILE="ABC.BMP"]
LOOP[SET=100]
CG[ID=BG X+=1]
WAIT[FRAME=1]
LOOPEND[ ]
|