フェードインする
Posted 2013.02.03 in 流動指向ゲームエンジン『Fooo』
画面がぱっと現れるのは味気ないので
白い画面からフェードインするようにしてみよう。
どのようにすればよいだろうか。
ここまで説明してきた内容を把握していれば簡単だろう。
画面サイズの真っ白な画像を用意し、
イメージデーカーを作成して表示させ、
Opaque命令でだんだん透明にするだけでいい。
しかしたかだかフェードインさせるためだけに
画像を用意しなくちゃいけないのは、いささか大きすぎる手間だ。
もうちょっと楽をしたい。
カラーデーカー
そんな時は『カラーデーカー』を使う。
カラーデーカーは、指定色で塗りつぶされた四角形を表示するデーカーだ。
フェードイン、フェードアウトなどの演出などを作りたい場合や
背景が単色でかまわない場合などに便利なデーカーである。
またプログラムの実行速度の面において、
イメージデーカーよりもずっと高速に動作するという特徴がある。
イメージデーカーと違って画像データを持たないからだ。
そういった理由から、使える場面ではできるだけカラーデーカーを使うことが望ましい。
実際カラーデーカーは非常によく使うデーカーの1つである。
CreateColor命令
カラーデーカーはCreateColor命令で作成する。
CreateColor(name="幕", color=white, w=1280, h=720);
color パラメータには塗りつぶし色を指定する。
w パラメータには横幅をピクセル単位で指定する。
h パラメータには縦幅をピクセル単位で指定する。
では組み込んでみよう。
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
, 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);
CreateColor(name="幕", color=white, w=1280, h=720);
Enter(to="背景");
Enter(to="コマ1");
Enter(to="幕");
wait 500;
Opaque(to="幕", time=500, alpha=0%);
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();
}
フェードインするようになった!