■ジャンプ ▲ menu abc |
| 書式 |
goto ラベル名
|
|
次に実行するスクリプト上の位置をラベル名に変更する。
|
| 例 |
goto labelOwari
|
|
labelOwariまでジャンプ。
|
■ラベル ▲ menu abc |
| 書式 |
*ラベル名
|
|
「*」に続けて任意のラベル名を付ける。gotoの飛び先に指定される。
|
| 例 |
*labelOwari
|
■条件付ジャンプ ▲ menu abc |
| 書式 |
if 変数名 = 値 goto ラベル名
|
|
変数の内容と値を比較し、結果が真ならラベルへジャンプする。 比較演算子には=の他に!=、<、>、<=、>=が使用可能。
|
| 例 |
if kekkaMenuBtl = 0 goto labelKougeki
|
|
kekkaMenuBtlの値が0ならlabelKougekiまでジャンプ。
|
■条件判定 ▲ menu abc |
| 書式 |
if 変数名 = 値 then
ブロック
else if 変数名 = 値 then
ブロック
else
ブロック
endif
|
|
変数の内容と値を比較し、結果が真ならブロック内の処理を実行する。 比較演算子には=の他に!=、<、>、<=、>=が使用可能。
|
| 例 |
hensuu0 = 0
hensuu1 = 0
hensuu3 = 5
hensuu5 = 4
if hensuu0 < 0 then
hensuu0 = 0
hensuu0は負数だった
else if hensuu0 > 0 then
if hensuu1 = hensuu0 then
hensuu0とhensuu1は同じで正数
endif
hensuu0 = 100
hensuu0は正数
else if hensuu5 != hensuu3 then
hensuu0は0で、hensuu5とhensuu3が異なる
else
テスト
endif
|
|
「hensuu0は0で、hensuu5とhensuu3が異なる」と表示される
|
■繰り返し ▲ menu abc |
| 書式 |
for 変数 = 値1 to 値2 step 値3
ブロック
endfor
|
|
変数が値1から値2まで変化する間、ブロック内の処理を繰り返す。
1回処理する度に、変数に値3が加算される。
step以降を省略すると、加算値は1になる。
値1〜3は、変数と数字どちらも指定可能。
|
| 例 |
atai1 = 5
atai2 = 15
atai3 = 3
for i = atai1 to atai2 step atai3
$i$------
for j = 1 to 0 step -1
j=$j$
endfor
endfor
|
■サブルーチン呼び出し ▲ menu abc |
| 書式 |
gosub ラベル名
|
|
次に実行するスクリプト上の位置をラベル名に変更する。returnコマンド戻ってくる。
※サブルーチン内から別のサブルーチンを呼ぶことも可能(メモリの許す限り)
|
| 例 |
gosub labelSub1
|
|
labelSub1までジャンプして、returnコマンドまでを実行。
|
■サブルーチン終了 ▲ menu abc |
| 書式 |
return
|
|
サブルーチンを呼び出したgosubコマンドの次の位置に戻る。
|
| 例 |
サブルーチンを呼びます
gosub subTest
end
*subTest
サブルーチンです
return
|
■時間待ち ▲ menu abc |
| 書式 |
wait フレーム数
|
|
指定フレーム数の間、停止する。
※1秒=12フレーム(rateコマンドで変更可能)
※0以下の値を指定すると、フレームレートに関係なく最小時間だけ停止する。
|
| 例 |
msg
2秒待ちます
.
wait 24
|
■経過時間待ち ▲ menu abc |
| 書式 |
weight フレーム数
|
|
最後にこのコマンドが呼ばれてから経過した時間と、指定したフレーム数と現在のフレームレートに該当する時間の差分だけ停止する。
(最小単位時間=1/36秒)
例えば、フレームレート=12で、処理に2/36分秒かかったとき、weight 1を指定すると1/36秒だけ停止(wait 1なら所持時間に関係なく3/36秒停止してしまう)
※主にアクションゲームのメインループなどで使用。
|
| 例 |
cnt = 0
*loop
weight 1
key a
msg
$cnt$
.
cnt + 1
if a = 0 goto loop
|
|
参考スクリプト:hitTest.txt
|
■終了 ▲ menu abc |
| 書式 |
end
|
|
スクリプトを終了する。
※エディタではエディタ画面に戻る
※公開版では最初に戻る
|
| 例 |
*loop
menu m0
終わる
戻る
endmenu
if m0 = 0 then
end
endif
goto loop
|