#東方弾幕風 #Title[角度が変わる弾] #Text[test] #ScriptVersion[2] script_enemy_main { let count=0;//弾の軌道を変えるタイミングを定義する変数 let kakudo=0;//角度をずらすための変数 @Initialize{ SetX(GetCenterX); SetY(GetClipMinY+120); SetLife(2000); LoadGraphic("script\img\ExRumia.png"); SetTexture("script\img\ExRumia.png"); SetGraphicRect(0, 0, 63, 63); Main; } task Main { loop(100){yield;} loop{ // loop(50){//恐らく必要ない //角度をループする後とに1ずつ足していく //カウント数が300以下のとき繰り返す構文 while(count<300){ loop(5){yield;} //角度を0にしておいて、while構文が終わって戻ってくるたびに0に初期化される let angle=0; //下のangleが360を満たすまで繰り返す while(angle<360){ //発射位置 CreateShot01(400,150,6,angle,RED32,0); //全方位弾の角度を決める angle+=10; } } //カウント数が300以上のとき繰り返す構文 while(count>=300){ 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に戻し初期化する // kakudo=0;//恐らく必要ない // loop(100){yield;}//恐らく必要ない yield; } } @MainLoop { count++;//カウント加算 SetCollisionA(GetX, GetY, 24); SetCollisionB(GetX, GetY, 24); yield;//タスクを使うにはこれ必須 } @DrawLoop{DrawGraphic(GetX, GetY);} @Finalize{DeleteGraphic("script\img\ExRumia.png");} }