« October 2006 | Main | December 2006 »

November 01, 2006

18.メッセージ表示とウェイト

「13.シナリオの整形をまとめて行う」の内容と一部重複しますが、
サウンドノベルの母体となるメッセージ表示について、まとめて解説します。

1.アイテムを選び、メッセージテキストを入力していく。
2.メッセージは入力した内容そのままが表示される。ただし、以下の例外がある。
   例外1.)「@」半角アットマークはクリック待ち命令に用いられる。
   例外2.)行末の「;」半角セミコロンは、「改行しない」という命令に用いられる。
   例外3.)文字が全く無い行(改行コードのみの行)は、完全に無視される。
   例外4.)ユウキノベルのスクリプト命令と全く同じ内容はメッセージとして表示できない。
3.メッセージが一画面に入りきらなかった場合、自動的にクリック待ちとなる。


これらの内容を更に詳しく解説します。

1.アイテムを選び、メッセージテキストを入力していく。

  通常は、小説をテキストファイルで用意し、コピー&ペーストで貼り付けます。

2.例外1.)「@」半角アットマークはクリック待ち命令に用いられる。

  一般的には行末に「@」を追加していきます。
  もちろん、行末以外にも使用できます。
  自前でコツコツ入力するよりは、バイナリエディタやテキストエディタで一括変換した方が楽です。
  具体的な方法は、講座13を参照してください。

2.例外2.)行末の「;」半角セミコロンは、「改行しない」という命令に用いられる。

  これは、行の途中でユウキノベルのスクリプト命令を実行する為に使用します。
  例えば、一部の単語のみフォントの大きさを変えるとか、
  ウェイト命令(待ち)を使って、表示速度を突然遅くする事が出来ます。


.FontSize 20
あ;
.Wait 500
れ;
.Wait 500
は;
.FontSize 28
.Wait 500
誰;
.Wait 500
だ@

2.例外3.)文字が全く無い行(改行コードのみの行)は、完全に無視される。

  通常小説を書く際には、行を空ける場合は単純に改行を繰り返す訳です。
  しかし、ユウキノベル上では改行コードのみの行は完全に無視されます。
  「行送り」を行いたい場合は、ダミーで空白(スペース)を表示します。
  なので小説をコピー&ペーストで貼り付ける際は、予め「改行」→「空白+改行」といった整形をしておくと楽です。
  具体的には講座13を参照して下さい。

2.例外4.)ユウキノベルのスクリプト命令と全く同じ内容はメッセージとして表示できない。

  スクリプト命令はコマンド入力のボタンを押して行います。
  けれど、入力された内容は単純なテキストデータですから、自前で命令を打ち込む事が可能です。
  逆に言えば、ユウキノベルの命令を、メッセージとして表示する事が出来ない訳です。
  
  と、書きましたがこの話の要点は以下の二つです。

  要点1.例えばウェイトの時間を調整したい時、数値を直接書き換えればOKです。
       いちいちコマンド入力からやり直す必要はありません。

  要点2.ユウキノベルの命令は、殆どが「コマンド」+「パラメータ」で構成されています。
       このパラメータの区切りとして、半角スペースが使用されています。
       このスペースの位置や数には規則があり、その部分まで勝手にいじると誤作動の原因になります。
       例えば半角スペースを全角スペースにしただけで、動作がおかしくなる可能性があります。
       従って、最初は極力コマンド入力ボタンを押して、スクリプト命令を記述していきます。
       同じ命令が定期的に続く場合は、その一行を丸ごとコピー&ペーストします。
       行末に空白がある場合と無い場合があり、その点にも注意が必要です。
       そしてパラメータを変更する場合、純粋に値のみを変更し、空白には触らない事が大切です。

3.メッセージが一画面に入りきらなかった場合、自動的にクリック待ちとなる。

  解説するまでも無いくらいに単純な内容ですが、兎に角、文章が一画面に表示しきれなかった場合、
  クリック待ちが自動的に発生するという話です。
  しかし、演出上クリック待ちを発生させたくない場合もあります。
  その場合どうするかといいますと、クリック待ちが発生してしまう前の行で、
  改頁命令を実行させれば良いのです。
  改頁命令とは、
  .Nextpage
  です。
  [Shift]+[Ctrl]+[Enter]というショートカットキーが利用できるので、覚えておくと便利です。
  また、ユウキノベルでは「画像、キャラ表示命令」に改頁命令の機能が含まれています。
  従って、改頁の変わりに画像を表示しても、同じ効果が得られます。


ウェイト命令について。

ウェイト命令は「待ち」を発生させる命令です。
.Wait 待ち時間(ミリ秒)

例えば主人公が放心してしまった場合、その状況を読者に伝える為に、
わざと待ち時間を作るという事があります。
けれど実際のところ、メッセージ表示において、ウェイト命令はあまり役に立ちません。
何故かというと、読書という行為の性質が、元々読者本位なものだからです。
ある読者はとにかく早く小説を読み終えたいと考えています。
そしてもう一人の読者は、ゆっくりと味わうように読み進めたいと考えています。
両者が求めるウェイト量は必然的に違うので、作者が待ち時間を数値として設定する事に無理があるのです。
ですから、ウェイト命令よりもクリック待ち命令「@」の方が、読者本位であり、有効なのです。
クリック待ち命令であれば、読者自身の意思によって、待ち時間を変更できる訳です。

では、ウェイト命令は全く役に立たないのでしょうか?

ウェイト命令はメッセージ表示中には殆ど使用しません。
実際に使用するのは、メッセージが表示されない場面です。
具体的には、章と章の間、節と節の間、段落と段落の間などです。
この時に、背景画像やBGMが切り替わる場合が非常に多いのです。
その時、読者は無意識に読書を中断し、一呼吸つきます。
そのタイミングでウェイト命令を入れておくと、繋がりがよくなるという訳です。


 その晩、ごんは、穴の中で考えました。@

「兵十のおっ母は、床についていて、うなぎが食べたいと言ったにちがいない。@
それで兵十がはりきり網をもち出したんだ。@
ところが、わしがいたずらをして、うなぎをとって来てしまった。@
だから兵十は、おっ母にうなぎを食べさせることができなかった。@
そのままおっ母は、死んじゃったにちがいない。@
ああ、うなぎが食べたい、うなぎが食べたいとおもいながら、死んだんだろう。@
ちょッ、あんないたずらをしなけりゃよかった。」@
.NextPage
.BGMFadeout 4000
.Wait 1000
.GraphFill 255 255 255 100 BLEND 1 3000

これは前回講座で掲載したサンプルスクリプトの一部です。
最後、改頁した後にMIDIによるBGMが4秒間かけて消えていきます。
音が消え始めて1秒の待ちがあり、その後画面が3秒間で真っ白になります。


.NextPage
.BGMFadeout 4000
.GraphFill 255 255 255 100 BLEND 1 4000

この場合と比較してどうなのか、自分で検証してみてください。
ウェイトが無い場合、非常に展開が慌しく、強引に読ませているような印象を読者に与えてしまいます。

| | Comments (1) | TrackBack (0)

« October 2006 | Main | December 2006 »