簡単 NScripterの使い方  2010/01/24更新
 ■開発室   ■ダウンロード   ■マニュアル   ■ご意見・ご要望・デバッグ   ■Q&A   ■リンク   ■関連企画 
 □目次  □準備編  □基礎編  □制作編  □グラフィック編  □音楽編

基礎編/第6章

■ ラベルとは ■
 スクリプト内の記述を、内容や機能によって分割するために使用するのがラベルです。
 例えば、ゲームのタイトル画面、オープニング、本編、といった具合に、それぞれのパートを区分けするために、ラベルが必要となります。
 また、後述する選択肢処理の時に、プレイヤーが選んだ内容にジャンプするための移動先としても、機能します。


■ ラベルの記述 ■
 ラベルは制作者が実行ブロック内の好きな場所に記述できます。
 ただし、命名には、いくつかの規則が存在します。

 ラベル命名時のルール
  「*」ではじまる
  半角英数字でなくてはならない
  ただし、最初の1文字目に数字や記号は使えない
  同名のラベルを複数設定する事は出来ない
 以上の4点です。

 それでは、実際にスクリプトにラベルを記述していきましょう。


game
*start

*zenhan
祇園精舎の鐘の声@
諸行無常の響きあり@
沙羅双樹の花の色@
盛者必衰の理をあらわす
\

*kouhan
おごれる人も久しからず@
ただ春の夜の夢のごとし@
たけき者も遂には滅びぬ@
ひとへに風の前の塵に同じ
\

end


 上記スクリプトの赤字部分「*start」「*zenhan」「*kouhan」の3つが、ラベルに該当します。
 なお「*start」ラベルだけは、NScripterの文法規則によって置かれているラベルなので、これを削除したり、移動させる事は出来ません。
 またラベルは、それ単体ではそこに在るだけで、特に効果は発揮しません。選択肢処理など、他の命令と組み合わせる事で機能します。


■ 選択肢 その1 ■
 それでは、いよいよゲームの肝となる選択肢の作り方を解説していきます。

 ここでは「試合に出場しますか?」という質問を表示して、それに対する選択肢として「はい」「いいえ」「わかりません」の3つを提示する事にします。



 その結果として、
  「はい」を選択すると「試合開始」と表示されてウィンドウが閉じる
  「いいえ」を選択すると「試合拒否」と表示されてウィンドウが閉じる
  「わかりません」を選択すると「状況不明」と表示されてウィンドウが閉じる
 上記のような処理を作成する事にします。


■ 選択肢 その2 ■
 具体的なスクリプトの記述に入りましょう。
 最初に実行ブロック内に「質問」「はい」「いいえ」「わかりません」の4つのパートに応じたラベルを打ち込んでいきます。


game
*start

*QA

*YES

*NO

*UNKNOWN

end


 上記スクリプト赤字の4ヶ所、「*QA」「*YES」「*NO」「*UNKNOWN」が、それぞれ「質問」「はい」「いいえ」「わかりません」に対応します。この部分に、個別の処理を書き込んでいきます。

 まず「はい」を選んだ時には、「試合開始」と表示されてウィンドウが閉じる、という処理になるので、ラベル「*YES」の下に、次のように記述します。


*YES
「試合開始」\
end


 次に「いいえ」を選んだ時には、「試合拒否」と表示されてウィンドウが閉じる、という処理になるので、ラベル「*NO」の下に、次のように記述します。


*NO
「試合拒否」\
end


 最後に「わかりません」を選んだ時には、「状況不明」と表示されてウィンドウが閉じる、という処理になるので、ラベル「*UNKNOWN」の下に、次のように記述します。


*UNKNOWN
「状況不明」\
end


 それでは、ここで完成したスクリプト全体を確認してみましょう。


game
*start

*QA

*YES
「試合開始」\
end

*NO
「試合拒否」\
end

*UNKNOWN
「状況不明」\
end

end


 ここまでの作業で、実行ブロック内に上記のようなスクリプトが完成していれば問題ありません。


■ 選択肢 その3 ■
 ここまで準備が完了したら、最後に実際の選択肢を実装していきます。
 実行ブロック内のラベル「*QA」部分に、下記のような書式で命令を書き込んでください。


*QA
試合に出場しますか?
select
"はい",*YES,
"いいえ",*NO,
"わかりません",*UNKNOWN


 解説します。
 まず冒頭の文章「試合に出場しますか?」、この部分は通常通り画面に表示されます。

 次に「select」が、選択肢を発生させる命令です。
 「select」の下に並ぶ各行が、画面に表示される選択肢と、その選択肢を選んだ時にジャンプする、ラベル名に対応しています。

 今回の場合は、
 選択肢"はい"を選んだ時には、処理はラベル*YESの部分にジャンプし、*YESの下に書かれている命令が実行されます。
 選択肢"いいえ"を選んだ時には、処理はラベル*NOの部分にジャンプし、*NOの下に書かれている命令が実行されます。
 選択肢"わかりません"を選んだ時には、処理はラベル*UNKNOWNの部分にジャンプし、*UNKNOWNの下に書かれている命令が実行されます。

 このように選択肢は、各行末尾を「 , 」でつなぐ限り、いくらでも増やす事が可能です。選択肢の表示を終了したい時は、行末に「 , 」を付けずに、記述を終えてください。


■ 選択肢 完成 ■
 それでは、ここまでの処理を全て書き込んだ、スクリプトの全体を確認してみましょう。


game
*start

*QA
試合に出場しますか?
select
"はい",*YES,
"いいえ",*NO,
"わかりません",*UNKNOWN

*YES
「試合開始」\
end

*NO
「試合拒否」\
end

*UNKNOWN
「状況不明」\
end

end


 確認が完了したら、実際にNScripterを起動して、処理がスクリプト通りに動いている事を確認してください。これで、ゲーム内に選択肢を組み込む事が可能になりました。

第5章に戻ります 第7章に進みます