適当に待つ

演出にだいぶ手を入れたので、ここいらで演出のタイミングを調整しておこう。
まずはコマの表示速度を調整しよう。
やることは各命令のtimeパラメータを修正していくだけだ。

しかしこの時注意すべきことがある。
直後のwaitの値も同じように修正しなくてはいけないのだ。
そうしないと動きの後に意図しない変な間が入ってしまったりする。
1つの動きを直すのに2箇所も直さないといけないなんて…

めんどくさい!

WaitDecor命令

こんな時はWaitDecor命令を使う。
WaitDecor命令は、指定したデーカーの動作の完了を待つ命令だ。
WaitDecor命令を使うと、どのくらい待つかを細かく考えずに済む。

動きの時間を修正した場合に、待ち時間をいちいち書き換える必要もなくなるといった寸法だ。
また文章や吹きだしなどは、表示の完了までにかかる時間がわかりにくいので
そういった場合にもWaitDecor命令が便利だ。


Opaque(to="コマ1", time=1000, alpha=100%, step="AccSin");
WaitDecor(to="*");

toパラメータには待つ対象となるデーカーの名前を指定する。
上のサンプルでは対象に “*” を指定しているが、ちょっと変なかんじだ。
“*” は名前ではなく特殊な意味を持つ表記で『全てのデーカー』を表している。
つまりこのように書くと、対象がどのデーカーかすらも考える必要がなくなるのだ。

WaitDecor命令のtoパラメータのデフォルト値(省略した場合に使われる値)は “*” なので、
もっと単純に…


Opaque(to="コマ1", time=1000, alpha=100%, step="AccSin");
WaitDecor();

と書いてもいい。

ちなみにWaitDecor命令は対象のデーカーに対する命令ではなく、
スクリプトを実行しているエンジンに対する命令なので
即座には終わらず、命令の実行が完了してから次に進む。

では組み込んでみよう。


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%
    , outline_shape="Fade", outline_color=RGBA(0,0,0,64), outline_thick=8);
  CreateFrame(name="コマ2", image="コマ2.png"
    , x="OutRight", y=65
    , outline_shape="Vivide", outline_color=white, outline_thick=8);
  CreateFrame(name="コマ3", image="コマ3.png"
    , x=407, y=505, ox="Center", oy="Middle", sx=0%, sy=0%
    , outline_shape="Vivide", outline_color=black, outline_thick=8);

  CreateBalloon(name="台詞1"
    , style="普通", text="それにしても...<BR>腹(はら)が減(へ)った"
    , x=585, y=65, shape="Dumpling", w=300, h=185, tail=-30);
  CreateBalloon(name="台詞2"
    , style="小", text="<FONT style='つぶやき'>クククク…"
    , x=470, y=520, shape="Rock", w=220, h=125, tail=160);

  Enter(to="背景");
  wait 1000;

  Enter(to="コマ1");
  Opaque(to="コマ1", time=500, alpha=100%, step="AccSin");
  WaitDecor();

  Enter(to="コマ2");
  Move(to="コマ2", time=800, x=780, step="Dec3");
  WaitDecor();

  Enter(to="台詞1", effect="Bound");
  WaitDecor();

  Enter(to="コマ3");
  Zoom(to="コマ3", time=1000, sx=100%, sy=100%, step="AccSig");
  WaitDecor();

  Enter(to="台詞2", effect="Expand");
  WaitDecor();
}
YouTube Preview Image

スッキリ~


Leave a Reply

*