「さて。タイトル画面のドラフトレイアウトは大体できた。でも、今のままだと選択肢じゃなくてただの文章だよね」
「そーだもん。クリックしたらどっかにジャンプしたいもん」
「選択肢によるジャンプは [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日目 次へ
|