このページはCOOL ONLINE終了に伴いO-Show様の許可を得て作成したBinary Heavenのミラーサイトです
[TOP] [Profile] [NScripter] [BBS] [Links]
初級編 No.3
テキスト表示
■概要■
ノベルゲームとしてもっとも基本的かつ重要なテキスト。
記述することでテキストに影響を与える特殊な書き方について説明します。


使用命令:

「br」(マニュアル 表示・演奏系 E)
「clickstr」(マニュアル 各種設定系 F)

他に、マニュアル「表示文の説明」参考
決まりごと

スクリプトに直接文章を書いていくだけで、それはゲーム画面に流れるテキストになります。

ただし、そのテキストの中には半角文字を使うことはできません。
例えば、半角の数字や、半角のアルファベット、半角カタカナなどです。
それらを書きたいと思ったら、全角で書くようにしてください。

スクリプト中での改行は、ゲーム画面上の改行になりますが、二回以上連続して改行することで空行を作っても、ゲーム画面上の空行にはなりません。

空行をいれたいのならば、「br」命令を使うことになります。

もしもスクリプト中の改行をゲーム画面上の改行にしたくなければ、改行の直前に「/」を入れます。半角のスラッシュです。
見やすくしたい場合は使うとよいと思います。

このように、特殊な指示をしたい場合、一部半角の記号を使うことはあります。
命令と同じようなものだと思えば良いでしょう。


そして、半角スペース、タブはゲーム画面上に影響をあたえません。

やはり見やすくするならば、タブを使ったり空行をあけるなどして工夫しましょう。



クリック待ちと改ページ

デフォルトでは、ゲーム画面一ページは横23文字、縦16文字です。
デフォルトは横書きなので、一画面は16行あることになります。

延々とテキストを書いていくと、一ページ分の行数を超えた時点でエラーが起こってしまいます。

普通、ある程度まで書いたなら改ページを行います。
改ページには、「\」を記述します。半角の円マークです。
「\」マークがあるところまでスクリプトが来ると、クリックするまで待ち、クリックされると改ページを行うという動作になります。

また、改ページ無しのただのクリック待ちもあります。
クリック待ちには、「@」を記述します。半角のアットマークです。

このあたりは、実際にノベルゲームをやったことのある人ならば感覚的に解ると思います。


こんなかんじに@クリック待ちします。\
改ページされました。@
ここは、下に来ます。@

この文も、すぐ下に表示されます。@

br

この文は、空行をはさんで表示されます。/
これは上の文の横に表示されます。\


こんなかんじにクリック待ちします。

(次のページ)
改ページされました。
ここは、下に来ます。
この文も、すぐ下に表示されます。

この文は、空行をはさんで表示されます。これは上の文の横に表示されます。



強制クリック待ち

このように、クリック待ちと改ページ待ちを行うことでゲームは進んで行きます。

しかし、膨大な量のテキスト全てにこのような作業を強いられるのは辛いことだと思います。

そこで、「clickstr」という命令が存在します。


clickstr "」。!?",2

これは、特定の文字(「""」に囲まれた文字、任意に指定可能)がテキスト中に存在したら、それを自動的にクリック待ちか改ページ待ちにしてしまうという命令です。

クリック待ちになるか改ページ待ちになるかは、指定した数字で決まります。

「そのページの縦文字数−指定数字」よりも下で強制クリック待ち文字を見つけた場合、それが改ページ待ちになるということです。

しかし、この方法では非常に長い文が指定数字よりも上から始まった場合、一ページの許容量をはみ出してエラーになる場合もあります。

その場合、適宜自分で「\」をいれたり、指定数字を調整すると良いかと思います。

他に、強制クリック待ちしたくないのならば、その強制クリック文字の直前に「_」を入れます。半角のアンダーバーです。


また、この説明が難しいと感じたら初めのうちは気にしなくても良いです。「@」「\」でクリック待ちや改ページ待ちをやりましょう。

「@」「\」のみでやる場合、確かに手間はかかりますが、ゲーム画面上のテキストの表示のされ方に気を配ることで、ゲームとしての文章の見た目を細かく美しく整えられるという利点もあります。



クリック待ちではない待ち

通常のクリック待ち以外にも、文章が流れるのを途中で一定時間止める方法があります。

「!d」「!w」です。

二つはどう違うかと言うと、「!d」の場合はクリックされると飛ばして次へ行き、
「!w」の場合はクリックされても飛ばされずに待ちます。

それぞれ、後ろに半角で数字をつけます。その数字が待ち時間になります。
数字の単位は、ミリ秒です。

つまり、「!d1000」で一秒間止まります。クリックで飛ばせます。
「!w5500」で5.5秒間止まり、何も受け付けません。

「間」の演出などに使ってください。



速度変更

テキストが流れる速度を、指定することができます。

「!s」です。

やはり、後ろに半角で数字をつけます。単位はミリ秒です。

この場合の数字は、「一文字が表示される時間」です。

「!s1000」ならば、一文字一秒なのでかなり遅くなります。
「!s10」ならば一文字0.01秒、あっという間に流れます。

一旦!sで指定した後は、再び!sで指定されるまでずっとそのままです。

これも、演出などに使うことになると思います。



色変更

テキストの色を、指定することができます。

「#rrggbb」です。

RGBによる指定です。十六進数で記述してください。

「#FFFFFF」は白、これがデフォルトです。
「#000000」ならば黒です。
「#FF00FF」ならば紫です。

!sと同じく、指定した後は再び指定されるまでそのままです。



今までのことを使って、少し例を書いてみます。


*define

	clickstr "?",13

	game

*start

!s200
ゆっくりと表示。@

!s20
速く表示。@

色が#FF0000変わります。@

#FFFFFF
!s200な……!w500!s20なんだと!?

強制クリック待ちされました_?

強制クリック待ちされませんでした。\

ゆっくりと表示。
速く表示。
色が変わります。
な……なんだと!?

(次のページ)
強制クリック待ちされました?
強制クリック待ちされませんでした。


上記のスクリプトは、縦の最大行が16(デフォルト)の場合です。
「な……なんだと!?」の最後の「?」で強制クリック待ち(しかも改ページ待ち)になっているのがおわかりになるでしょうか。
■総括■
基本的なことですが、おろそかにはできないことです。
テキストの魅力を最大限に引き出せるようにしましょう。

次へ   前へ   NScripterのIndexへ