文章に緩急をつける
漫画の吹きだしの中の文章は、ただの文章ではなく台詞である。
何をあたり前のことを…と思うかもしれないが、改めてそう認識することが重要なのだ。
人が言葉を発する時、一定の速度で淡々と喋ることはまずない。
それが台詞であっても同様だ。
台詞には必ず緩急がある。
しかしアドベンチャーゲームのメッセージは
例えそれが台詞であったとしても一定速度で表示することが多い。
アドベンチャーゲームの多くが小説の延長線上にあるせいかもしれないが…
ざっと見の読みやすさを重視している部分や、伝統的にそうなってる部分もある。
しかしFoooの実現する『動く漫画』の吹きだしは
感覚的に小説のソレより人間の言葉に近い。
そのため一定速度で一様に文章を表示すると違和感が出る場合がある。
緩急があって然るべき、なのだ。
そこでFoooには文章に緩急をつけるための機能が用意されている。
WAITタグ
それにしても<WAIT time=800><BR>腹(はら)が減(へ)った
WAITタグは文章中に待ちを埋め込むタグだ。
timeで待ち時間をミリ秒単位で指定する。
しかしやはりタグを書くのは長ったらしい…
そこでもっと簡単に待ちを指定する方法が用意されている。
待ち文字
それにしても,...<BR>腹(はら)が減(へ)った
何やら . と , がちょこちょこっと書かれている。
これでさっきと同じように800ミリ秒待つという意味になる。
文中において、ピリオド . は100ミリ秒の待ち、カンマ , は500ミリ秒の待ちと解釈されるのだ。
, が1個、. が3個で合せて800ミリ秒の待ちといった具合だ。
最初の”Hello, world”のスクリプトで , が表示されなかったのを覚えているだろうか。
なぜ , が表示されないのか説明を省いたが…そう…
, が表示されなかったのは、待ち文字として解釈されてしまっていたからなのだ。
このような特殊な意味として解釈される文字は < > ( ) などいろいろあるが
特殊な意味として解釈されたくない場合は、文字の前に&記号を書く。
method Main()
{
CreateText(name="Text", text="hello&, world");
Enter(to="Text");
}
これで”hello, world”と表示されるようになる。
では組み込んでみよう。
style 普通 { face="MS ゴシック", size=32 }
style 小 { size=24 }
style つぶやき { interval=100, speed=250, effect="Rise" }
method Main()
{
CreateImage(name="背景", image="背景.png"
, x=0, y=0);
CreateFrame(name="コマ1", image="コマ1.png"
, x=440, y=0, alpha=0%);
CreateFrame(name="コマ2", image="コマ2.png"
, x="OutRight", y=65);
CreateFrame(name="コマ3", image="コマ3.png"
, x=407, y=505, ox="Center", oy="Middle", sx=0%, sy=0%);
CreateBalloon(name="台詞1"
, style="普通", text="それにしても...<BR>腹(はら)が減(へ)った"
, x=588, y=75, tail=-30);
CreateBalloon(name="台詞2"
, style="小", text="<FONT style='つぶやき'>クククク…"
, x=485, y=525, tail=160);
Enter(to="背景");
wait 1000;
Enter(to="コマ1");
Opaque(to="コマ1", time=1000, alpha=100%);
wait 1000;
Enter(to="コマ2");
Move(to="コマ2", time=1000, x=780);
wait 1000;
Enter(to="台詞1");
wait 1500;
Enter(to="コマ3");
Zoom(to="コマ3", time=1000, sx=100%, sy=100%);
wait 1000;
Enter(to="台詞2");
wait 1000;
}
台詞にちょっと間が入ったのがわかるだろうか。