#東方弾幕風 #Title[Mima Regular 1] #Text[testing...] #BackGround[Default] #Player[FREE] #ScriptVersion[2] script_enemy_main { let CSD = GetCurrentScriptDirectory; let ShotData = CSD ~ "shot_All.txt"; let start = 120; let angle = 0; let xconstant = 20; let yconstant = 10; let angle2 = 0; let angle3; let number = 0; let speed = 2.5; let speed2 = 3; let delay1 = 60; let delay2 = 180; let ImgBoss = "script\img\Reimu.png"; let Shot = 17; let Shot2 = 24; @Initialize { SetInvincibility( 120 ); SetLife(4000); SetTimer(50); SetMovePosition02(GetCenterX, GetClipMinY + 120, 0); LoadGraphic(ImgBoss); SetTexture(ImgBoss); SetGraphicRect(0, 0, 62, 62); LoadUserShotData(ShotData); TMain; } @MainLoop { SetCollisionA(GetX, GetY, 32); SetCollisionB(GetX, GetY, 16); yield; } @DrawLoop { DrawGraphic(GetX, GetY); } @Finalize { DeleteGraphic(ImgBoss); } task TMain { wait(start); loop { CircleofStars(); wait(delay1); HolyCrap(); wait(delay2); } } function CircleofStars() { let TypeShot = Shot; angle = GetAngleToPlayer; loop(10) { loop(60) { CreateShot01(GetX, GetY, speed, angle, TypeShot, 0); angle += 360/60 } speed -= 0.2; } speed = 2.5 } function HolyCrap() { let TypeShot2 = Shot2; angle2 = rand(0,360); angle3 = 0; loop(2) { loop(100) { if ((angle3 % 360 == 0) && xconstant == 20) { xconstant = 10; } CreateShot01(GetX + (xconstant * cos(angle3)), GetY + (yconstant * sin(angle3)), speed2, angle2, TypeShot2, 0); angle3 += 360/100; angle2 += 360/100; if (angle3 % 720 <= 360) { xconstant = 10; yconstant = 20; } if (angle3 % 720 >= 360) { xconstant = 20; yconstant = 10; } } speed2 = 1; } speed2 = 2; } function wait(w) { loop(w) { yield; } } }