トップページへ戻る


選択肢とラベルの作り方
 
「さて。タイトル画面のドラフトレイアウトは大体できた。でも、今のままだと選択肢じゃなくてただの文章だよね」

「そーだもん。クリックしたらどっかにジャンプしたいもん」

「選択肢によるジャンプは [link] タグと [endlink] タグを使って行う。この二つのタグで囲まれた部分がマウスやキーボードで選択可能になり、[link target=***] の *** に記されるラベルにジャンプできるんだ。htmlの <A HREF=***.html>リンク先</A> に似ているから理解しやすいと思うよ」

「ぜんっぜんっわかんない」

「それじゃ、簡単なスクリプトを書いてみよう」

[title name="タイトル"]\
[wc time=20]\
*start|スタート
それいけ選択肢![l]
どこに飛ぶ!?[l]
1.アメリカのニューヨーク
2.中国の敦煌
3.日本の三宅島

「選択肢になるのは、1から3の文だねー」

「そう。だけど、まずは選択肢による分岐先のラベルを準備しないといけない。これを作らないでスクリプトを動かすとエラーになる」

「ラベルってなんなのよもー。そんなのわ聞いたことないもん」

「ラベルは半角の*印で始まる行のことだよ。この例では、下の黄色い部分がラベルにあたる」

[title name="タイトル"]\
[wc time=20]\
*start|スタート
それいけ選択肢![l]
どこに飛ぶ!?[l]
1.アメリカのニューヨーク
2.中国の敦煌
3.日本の三宅島

「もーちょっと詳しく話してほしーもん。ぼー(|)の意味とか」

「まあ、それはまた後にしよう。今は三つの選択肢をそれぞれ選んだ場合のジャンプ先を作る。ラベルを先頭にして、それぞれのページの内容を書く」

「ふんふん」

「行頭に半角の;をつけたセパレータを作って、ラベル毎に分けると見やすくなるよ」

「それも、やってみんもん」

[title name="タイトル"]\
[wc time=20]\
*start|スタート
それいけ選択肢![l]
どこに飛ぶ!?[l]
1.アメリカのニューヨーク
2.中国の敦煌
3.日本の三宅島
;---------------------
*america
ここはアメリカのニューヨークだぜ。[l]
おしまい。
;---------------------
*china
ここは中国の敦煌アルヨ。[l]
おしまい。
;---------------------
*japan
ここは日本の三宅島です。[l]
おしまい。

「ラベルの、*印の後ろにくる文字はなんでもいーの?」

「america、china、japan のことかい? 重複がない限りは、何でも構わないよ。ノベルゲームなら、scene001、scene002、scene003 みたいにする方がいいかもね」

「それでー?」

「ジャンプ先が設定できたら、1から3の文章を [link target=***][endlink] で括る。target の *** に入るのは、さっき設定したそれぞれのジャンプ先のラベルだ」

「んーと、こうかなー?」

[title name="タイトル"]\
[wc time=20]\
*start|スタート
それいけ選択肢![l]
どこに飛ぶ!?[l]
[link target=*america]1.アメリカのニューヨーク[endlink]
[link target=*china]2.中国の敦煌[endlink]
[link target=*japan]3.日本の三宅島[endlink]
;---------------------
*america
ここはアメリカのニューヨークだぜ。[l]
おしまい。
;---------------------
*china
ここは中国の敦煌アルヨ。[l]
おしまい。
;---------------------
*japan
ここは日本の三宅島です。[l]
おしまい。

「とりあえず実行してごらん」

「それー! んきゃー! 何よこれもー!」

「選んでもないのに全部いっぺんに出てきちゃしょーがないでしょもー!」

「いや、この特性はすごく大事なので、わざと間違えてもらったんだ。KAGの特徴の一つに、『スクリプトに書かれたことは上の行から順番に実行する』という点がある。この間違いスクリプトは、そのいい例だ」

「わざとやったわねー!」

「お、おい……何を……!」

「んきゃーゆるせないもんんきゃーんきゃーきゃー!」

SE:ばりばりばりばり!

「あ痛つつつ……お前なー! ここはKAG練習日記のページなんだから、いつもの調子で爪を剥くのはやめてくれってば!」

「あんたが悪いんだもん!」

「えーと、気を取り直してスクリプトの間違いを見ましょう(ひりひり)」

「ふん!」

「まず、選択肢が表示された後、続けてアメリカのラベル内容が表示されるのはちょっとまずい。そこでこのような場合、[s] タグを使う」

「なんなのよそれわ!」

「怒るなってば。[s] は、stop の意味で、スクリプトの実行を強制的に止めるタグなんだ。このタグが書かれると、スクリプトはそれ以下にある行を実行しなくなる」

「勝手に書いてみんもん!」

「まだ根に持ってるな、お前……」

「うるさいわよもー!」

[title name="タイトル"]\
[wc time=20]\
*start|スタート
それいけ選択肢![l]
どこに飛ぶ!?[l]
[link target=*america]1.アメリカのニューヨーク[endlink]
[link target=*china]2.中国の敦煌[endlink]
[link target=*japan]3.日本の三宅島[endlink]
[s]
;---------------------
*america
ここはアメリカのニューヨークだぜ。[l]
おしまい。
;---------------------
*china
ここは中国の敦煌アルヨ。[l]
おしまい。
;---------------------
*japan
ここは日本の三宅島です。[l]
おしまい。

「書けたら勝手に実行しちゃうもん!」

「ほらーほらー止まったもん! すきゃんてぃったらだいてんさーい!」

「それじゃ、何か選んでごらん」

「じゃー、アメリカ」

「んきゃー! 中国と日本がしつこいぢゃんよもー!」

「普通、ラベルで構成されるシーンの最後には再び選択肢が来るか、どこか別のページへジャンプするはずだから、それは構わないよ。たまたま練習用で、ページの内容が短いもんだから次のページも表示されちゃったんだ」

「だめだもん! こっちにも [s] を書いちゃうもん!」

[title name="タイトル"]\
[wc time=20]\
*start|スタート
それいけ選択肢![l]
どこに飛ぶ!?[l]
[link target=*america]1.アメリカのニューヨーク[endlink]
[link target=*china]2.中国の敦煌[endlink]
[link target=*japan]3.日本の三宅島[endlink]
[s]
;---------------------
*america
ここはアメリカのニューヨークだぜ。[l]
おしまい。
[s]
;---------------------
*china
ここは中国の敦煌アルヨ。[l]
おしまい。
[s]
;---------------------
*japan
ここは日本の三宅島です。[l]
おしまい。
[s]

「ほらー! ちゃんと止まったぢゃんよもー!」

「でも、普通は選択肢を選ぶと別のページに飛ぶはずだろ? 上の例だと、選択肢の下にそのまま文字が書かれちゃっているじゃないか」

「それじゃ、ジャンプした先ですぐに [ct] すんもん」

[title name="タイトル"]\
[wc time=20]\
*start|スタート
それいけ選択肢![l]
どこに飛ぶ!?[l]
[link target=*america]1.アメリカのニューヨーク[endlink]
[link target=*china]2.中国の敦煌[endlink]
[link target=*japan]3.日本の三宅島[endlink]
[s]
;---------------------
*america
[ct]\
ここはアメリカのニューヨークだぜ。[l]
おしまい。
[s]
;---------------------
*china
[ct]\
ここは中国の敦煌アルヨ。[l]
おしまい。
[s]
;---------------------
*japan
[ct]\
ここは日本の三宅島です。[l]
おしまい。
[s]

「これで完璧だもん」

「うん、いいだろう。それじゃ、せっかくここでラベルが出てきたから、次は、データのセーブ・ロードを管理する栞について少し説明しておこう」

「ラベルと関係あんのかなー?」

「大ありだ」

練習日記 3日目 次へ


トップページへ戻る