〜五章〜 「ラベルの使い方」


よくよく見てみると、ラベルの使い方が全く書いてなかったのでここで学びましょう。

三章で触れたように、ラベルは「スクリプトにおける"しおり"」みたいなものです。
書式は「*」の後に好きな文字列を入れるだけです。
ただし使える文字列は、1文字目は英文字と"_"、2文字目以降は英数字と"_"で、もちろん全て半角でなくてはなりません。

・正しい例
    *sel1
    *index01
    *Out_put
・間違った例
    *選択肢1
    *01index
    *Out-put

←全角文字を使っている
←1文字目から数字を使っている
←"_"以外の記号を使っている

ラベルは、それだけでは大した効果を持ちません。
しかし、ラベルを扱う命令を使う事によってとても実用的なものになります。
今回は代表的な命令として、「goto」、「gosub」、「select」、「selgosub」を説明しようと思います。

まず「goto」命令です。書式は以下のようになります。

goto {*ラベル名}


そのまんまですね〜。(笑
これは、{*ラベル名}で指定したラベルに飛ぶという命令です。

「gosub」命令は、「goto」命令に似ていますが、違う点が一つあります。

gosub {*ラベル名}


これだけでは何が違うのかわかりません。
実は「gosub」命令は飛び先ラベルに工夫をする必要があります。
言葉ではいまいちわかりにくいので、「goto」命令と「gosub」命令の違いを図にしてみました。

「goto」命令


「gosub」命令


適当な図でスミマセン…

矢印が処理の流れを表しています。
つまり「goto」命令は指定ラベルに飛ぶだけ、「gosub」命令は「return」命令によってもとの場所に戻ってくる命令ということです。
(「gosub」命令は必ず「return」命令とセットで使いましょう。)
ちなみに「gosub」命令の図で緑色の部分を「サブルーチン」と言うらしいです。

次に「select」、「selgosub」命令についてです。
この命令はすぐわかると思いますが、選択肢を扱う命令です。
書式は以下のようになります。


select "{選択肢1}",{*飛び先ラベル1},"{選択肢2}",{*飛び先ラベル2}

selgosub "{選択肢1}",{*飛び先ラベル1},"{選択肢2}",{*飛び先ラベル2}


この命令を行うと

選択肢1
選択肢2

という選択肢が表示され、「選択肢1」をクリックするとラベル「*飛び先ラベル1」へ、
「選択肢2」をクリックするとラベル「*飛び先ラベル2」へ飛ぶといった動作をします。
なお上の例は2つしか選択肢を用意していませんが、さらに同じ書式で続けることで2つ以上も可能です。

「select」と「selgosub」命令の違いは、「goto」と「gosub」命令の違いと同じなので、割愛させていただきます。


五章まで読むと、簡単なノベルゲームくらいなら作れるようになると思います。
六章では好感度などのパラメータを設定することができる「変数」について書こうと思います。

四章へ    六章へ
「NScripter」Top  Top Page