花を降らす
Posted 2013.02.16 in 流動指向ゲームエンジン『Fooo』
次は花を降らせてみよう。
花のつぼみがくるくる回転しながら落ちていくような演出にする。
これまた雪を降らすスクリプトとほとんど一緒だ。
花粒.png
class 花粒クラス
{
method 花粒クラス()
{
CreateImage(name="花"
, ox="Center", oy="Middle", image="花粒.png", blend="Add");
}
method OnEnter()
{
// 回転し続ける
Enter(to="*");
while(true)
{
Rotate(angle=0);
Rotate(time=3000, angle=360);
wait 3000;
}
}
}
class 花クラス
{
method 花クラス()
{
}
method OnEnter()
{
int $number = 0;
while(true)
{
string $name = "花粒"+String($number++);
ThreadCreate(call=@花粒スレッド(name=$name));
wait 75;
}
}
method 花粒スレッド(string $name)
{
int $x = rand_range(0, 1280);
percent $scale = Percent(0.2+frand()*0.8);
CreateObject(name=$name
, x=$x, y=-100, sx=$scale, sy=$scale, class=@花粒クラス());
Enter(to=$name);
int $time = rand_range(5000,20000);
Move(to=$name, time=$time
, x=$x, y=720+100);
wait $time;
Delete(to=$name);
}
}
method Main()
{
CreateColor(name="背景", w=1280, h=720, color=black);
Enter(to="背景");
CreateObject(name="花", class=@花クラス());
Enter(to="花");
}
動きが激しすぎるせいか、動画重っ!
粒をイメージデーカーではなく、オブジェクトデーカーにしているのが特徴だ。
回転しつづける動きを粒自身にさせることで、
粒を降らせる部分のスクリプトをほとんどいじらずに済んでいる。
花粒クラスのRotate命令でtoを省略しているが、この場合”自身”を指す意味になる。