その2 文章を表示させちゃうぞ!編

「今回は文章を表示させるだったな。あの馬鹿はどこいった?」
「馬鹿で悪かったな」
うわぁ!!急に現れんなって!!!しかも前まで文字だけじゃなかったか?!」
「いやぁ、1人だけ文字のみってのも寂しくてな!」
「センセ、センセ」
「おお、なんだ?我が教え子よ!」
「・・・・・・・・・。」
「それじゃあ、早速いってみよう!右クリック・新規作成で新しく『0.txt』という名前のテキストファイルを作ってくれ。もちろん『0』は半角だよ。」
「作ったぞ」

*define

game
*start


「それじゃあ、上のやつを写すなりコピーするなりしてくれ」
「写した、写した」
「それじゃあ、適当にファイルを作って、ダウンロードしたnscr.exeと今作ったテキストファイルを入れておくれ」
「入れたぞ」
「それじゃあ、nscr.exeをクリィィィック!!!
「お、おうっ!」


ポチッとな






「・・・・・・・・・。」
「おめでとう。これで君も『NScripter使い』仲間入りだ!!
「やった〜〜〜!!」
「・・・・・おいこら・・・・」
「まあ、冗談はここまでにして、こういうことだ。NScripterは同じファイルにある0.txtを読み込むわけだ。・・・・・・・聞く話によると」
聞く話によると?!
「0.txtの中は大きく『定義ブロック』『実行ブロック』の2つに分けられる。定義ブロックとはそのゲームの設定を定義する部分で、実行ブロックには実際のゲームの内容を書いていくのだ。定義ブロックは『*define』から『game』の間の部分で、実行ブロックは『*start』以下の部分だ」
「『game』ってのはなんだ?」
「大丈夫。そんなの知らなくてもゲームは作れるって。」
「おい・・・・・・。じゃあ、今作ったやつの場合は、ゲームの内容を書くっていう実行ブロックに何もないからなにも起きずに『末端に達しました』ってなったわけ?」
「うむ、そういうことだ」
「なんだ、っていうことは実行ブロックってとこに文章を書いていけば文章が表示されんだろ?これでどうよ?」

*define

game
*start
こんにちは。今日はいい天気ですね。明日も天気が良いといいなぁ。



ポチッとな



「・・・・・・・おい、文章は表示されたけど、止まることなくあっという間に終わっちまったぞ・・・・・?」
「まったく、人の話も聞かずに勝手に進めるからだ」
「・・・・・・・・。」
「いいかい?そのままじゃ改行もされなければクリック待ちもしてくれないのだ」
「どうすればいいんだよ?!」
「簡単だよ。まず、『クリック待ち』っていうのはやっている人がクリックするまで待つって事なのは分かるな?」
「そりゃあな」
「そのクリック待ちってのは『@』を入れるだけでいい。どうだ、簡単だろう?」
「半角で?」
「うむ。NScripterでは、文章" "の中以外はほとんど半角で書くのだ。全角で書いたら文章と見なされてしまう」
「改行はどうするんだ?」
「NScripterは普通に改行すれば反映されてちゃんと改行してくれるぞ」
「なるほど。じゃあ、これでどうだ?」

*define

game
*start
こんにちは。@
今日はいい天気ですね。@
明日も天気が良いといいなぁ。@


「実行してごらん」


ポチッとな



「おお!ちゃんとクリック待ちも改行もされて 見やすくなったぞ!!」
「そうだろう?どうだ?こんな簡単に文章を表示できるんだ。NScripterっていいだろ?」
「でも、改ページするときはどうするんだ?」
「これも簡単。『\』を入れればいい。」
「ずいぶんと簡単だなぁ」
「つまりこういうことだ」

クリック待ち=@
改ページ=\
改行=反映(普通に改行して書けば改行してくれる)


「OK。覚えたぞ」
「ところで、クリック待ちする度に『@』を書くのは面倒くさい!!って人もいると思う。そこでこれを省略することができるのだ」
「ふ〜ん、どうやって?」
『clickstr "。!?」",2』というのを定義ブロックにいれるのだ。そうすると、文章の途中で" "の間にある文字が表示されるとクリック待ちになる。これの場合、『。!?」』が文章の途中で表示されるとクリック待ちになるんだ。もちろん、この4つ以外の文字を入れても効果はあるぞ。でも、だいたいはこの4つだけだと思う」
「ふ〜ん」
「ちなみにオイラは使っていない。理由はなんとなく!!
「・・・・・・あっそ・・・・」
「まあ、使おうが使わなかろうが作れれば問題ない!!!
「・・・・・・・・。他にはできないのか?」
「他って?」
「ほら、一定の時間止まったり、文字のスピード・色を変えたり、選択肢とかは?」
「うむ、もちろんできるぞ。じゃあ、お前が言った順番に説明していこう。まずは一定の時間止めるってやつだな?これは『!w半角数字』というのを使う。数字の部分の分だけ流れが止まる。数字の単位はミリ秒、つまり『!w1000』で1秒間止まるわけだ」
「OK、分かった」
「次に文字のスピード・色を変える。スピードは『!s半角数字』を使う。これの半角数字は1文字毎に表示する時間を表す。これも単位はミリ秒だ。」
「つまり、『!s1000』で1秒ごとに1文字表示するってことか」
「そういうこと。色を変えるには『#rrggbb』を使う。RGBによる指定で、十六進数で書いてくれ。」
「『#FFFFFF』で白、『#000000』で黒、『『#FF0000』で赤ってことだな?」
「その通り!最後に選択肢だが、これは例を出した方がわかりやすいだろう。下の文を写して実際にやってみてくれ」

*define

clickstr "。!?」",2
game
*start
しまった、道に迷ってしまった・・・・・。
辺りはもう暗闇に包まれている。
・・・・・・ん?
右と左に道が分かれている。
どっちへ行こう・・・・・・
select"右",*migi,"左",*hidari

*migi
右へ行ってみよう・・・・・・。\
・・・・・・・・。
うわあああああ!!!
あなたは熊に襲われました。
end

*hidari
左へ行ってみよう・・・・・・。\
・・・・・・・・。
うわあああああ!!!
あなたはヘビに襲われました。
end


「・・・・・ずいぶんと悲惨な内容だな・・・・。これは『、(コンマ)』を1つ1つ書かなきゃいかんのか?」
「うむ、いかん。1つでも入れないとエラーになってしまう。」
「そ、そうか」
「じゃあ説明しよう。選択肢には見ての通り『select』を使う。" "の間の文字を選択肢として表示されるんだ。」
『*〜』ってのは『*define』とかとそっくりだな?」
『*〜』というのは『ラベル』といって、それぞれを区切る目印だ。『*〜』という名前の部屋だと説明したお方がいるが、そっちの方がわかりやすいな」
「わかった!ってことは、これは『右』を選ぶと『*migi』という部屋に、『左』を選ぶと『*hidari』という部屋に行けってことだな?!」
「そうだ。分かってるじゃないか」
『end』ってのは?」
「意味の通り『終了する』命令文だ。NScripterの命令文は意味のまんまのものが多い。『select』は選択肢『end』は終わりって具合にな
「命令文がわかりやすくていいな」
「うん、そうだな。さて、説明も終わったし、今回はこのぐらいかな?オイラはもう限界だ」
「お、おい?!まだ文章を表示させただけだぞ?!画像は?!音楽は?!」
「うう、まさかここまで大変とは・・・・・・。ところで、箱太郎君は?」
「そういえば、途中から全く出てこないな?」
「ふっ・・・・・。きっと旅に出たのさ・・・・・・」
「・・・・・・・あっそう・・・・」


【 今日の復習 】

定義ブロック= 『*define』から『game』の間の部分。ゲームの設定を定義する

実行ブロック= 『*start』以下の部分。実際のゲームの内容を書いていく

クリック待ち= 『@』

改ページ= 『\』

改行= 反映される

『clickstr "。!?」",2』 = 文章の途中で" "の間にある文字が表示されるとクリック待ちになる

一定の時間止める= 『!w半角数字』 数字の部分の分だけ流れが止まる。数字の単位はミリ秒

文字の表示スピードを変える= 『!s半角数字』 数字秒毎に1文字表示する。数字の単位はミリ秒

文字の色を変える= 『#rrggbb』 RGBによる指定で、十六進数で書く

選択肢= 『select"A",*a,"B",*b』 " "の間の文字を選択肢として表示される。これの場合『A』を選ぶと『*a』という部屋に、『B』を選ぶと『*b』という部屋に行く。" "の間の文字は全角で書く

 *注意点
命令文によっては半角スペースを入れなくてはいけないものがあるので忘れずに入れる

<もどる>