#東方弾幕風 #Title[角度が変わる弾ver2] #Text[test] #ScriptVersion[2] script_enemy_main { let count=0; @Initialize{ SetX(GetCenterX); SetY(GetClipMinY+120); SetLife(2000); LoadGraphic("script\img\ExRumia.png"); SetTexture("script\img\ExRumia.png"); SetGraphicRect(0, 0, 63, 63); let kakudo=0; task A { loop(100){yield;}//発射するまでの待ち時間が100フレーム loop{ if(count<200){//カウントが200より少なければ繰り返すスクリプト loop(50){//5フレーム間隔の弾を50発撃つ loop(5){yield;} //角度を0にしておいて、while構文が終わって戻ってくるたびに0に初期化される let angle=0; //下のangleが360を満たすまで繰り返す while(angle<360){ //発射位置 CreateShot01(400,150,6,angle,RED32,0); //全方位弾の角度を決める angle+=10 } } } if(count>=200){//カウントが200以上なら繰り返すスクリプト loop(50){//5フレーム間隔の弾を50発撃つ kakudo++;//角度を1ずつずらしていく loop(5){yield;} //角度を0にしておいて、while構文が終わって戻ってくるたびに0に初期化される let angle=0; //下のangleが360を満たすまで繰り返す while(angle<360){ //発射位置 CreateShot01(400,150,6,angle+kakudo,RED32,0); //全方位弾の角度を決める angle+=10 } } } kakudo=0; loop(200){yield;} } }A; } @MainLoop { count++;//カウントを1ずつ足していく if(count==650){//カウントが650になったとき0に初期化する count=0; } SetCollisionA(GetX, GetY, 24); SetCollisionB(GetX, GetY, 24);yield; } @DrawLoop{DrawGraphic(GetX, GetY);} @Finalize{DeleteGraphic("script\img\ExRumia.png");} }