#東方弾幕風 #Title[全方位の連射] #Text[全方位の連射] #Image[] #BackGround[] #BGM[] #PlayLevel[Normal] #Player[REIMU,MARISA] #ScriptVersion[2] script_enemy_main { @Initialize { //敵出現時に一度だけ実行される部分 SetX(GetCenterX); SetY(GetClipMinY+120); SetLife(2000); LoadGraphic("script\img\ExRumia.png"); SetTexture("script\img\ExRumia.png"); SetGraphicRect(0, 0, 63, 63); Main; Main2; } @MainLoop { //敵のライフが0になるまで、この部分が1フレームに1回実行 SetCollisionA(GetX, GetY, 24); SetCollisionB(GetX, GetY, 24); yield; } @DrawLoop { //描画ループ。1フレームに1回実行 DrawGraphic(GetX, GetY); } @Finalize { //敵が消滅した瞬間に一度だけ実行される部分 DeleteGraphic("script\img\ExRumia.png"); } @BackGround { //スペルカード時の背景部分 //無くてもよい } task Main{ loop(100){yield;} loop{ loop(100){ loop(10){yield;} //角度を0にしておいて、while構文が終わって戻ってくるたびに0に初期化される let angle=0; //下のangleが360を満たすまで繰り返す while(angle<360){ //発射位置 CreateShotA(1,GetX,GetY,0); //0フレーム時の処理 SetShotDataA(1,0,3,angle,0,0,3,YELLOW02); //弾幕の動作 SetShotDataA(1,30,3,NULL,7,0,3,YELLOW02); SetShotDataA(1,60,3,NULL,0,0,3,YELLOW02); SetShotDataA(1,110,3,NULL,2,0,3,YELLOW02); SetShotDataA(1,160,3,NULL,0,0,3,YELLOW02); //発射 FireShot(1); //全方位弾の角度を決める angle+=30 } } yield; } } task Main2{ loop(100){yield;} loop{ loop(100){ loop(10){yield;} //角度を0にしておいて、while構文が終わって戻ってくるたびに0に初期化される let angle=0; //下のangleが360を満たすまで繰り返す while(angle<360){ //発射位置 CreateShotA(2,GetX,GetY,0); //0フレーム時の処理 SetShotDataA(2,0,3,angle,0,0,3,GREEN02); //弾幕の動作 SetShotDataA(2,30,3,NULL,-7,0,3,GREEN02); SetShotDataA(2,60,3,NULL,0,0,3,GREEN02); SetShotDataA(2,110,3,NULL,-2,0,3,GREEN02); SetShotDataA(2,160,3,NULL,0,0,3,GREEN02); //発射 FireShot(2); //全方位弾の角度を決める angle+=30 } } yield; } } }