#東方弾幕風 #Title[「乱舞勝負」] #Text[] #PlayLevel[弾幕風教材用] #Image[.\img\study011.png] #BackGround[Default] #ScriptVersion[2] script_enemy_main { let imgExRumia = GetCurrentScriptDirectory ~ "img\ExRumia.png"; let shotData = GetCurrentScriptDirectory ~ "shot_all.txt"; @Initialize { SetMovePosition02(GetCenterX, GetClipMinY + 180, 60); SetLife(5000); SetScore(1000000); SetTimer(50); CutIn(KOUMA, "「乱舞勝負」", 0, 0, 0, 0, 0); SetDurableSpellCard; SetEnemyMarker(false); LoadGraphic(imgExRumia); SetTexture(imgExRumia); SetGraphicRect(1, 1, 64, 64); LoadUserShotData(shotData); mainTask; mainTask1; mainTask2; mainTask3; mainTask4; } @MainLoop { SetCollisionA(GetX, GetY, 24); SetCollisionB(GetX, GetY, 24); yield; } @DrawLoop { SetColor(255,255,255); SetRenderState(ALPHA); SetTexture(imgExRumia); if(GetSpeedX == 0) { SetGraphicRect(64, 1, 127, 64); } else if(GetSpeedX > 0) { SetGraphicRect(192, 1, 255, 64); } else if(GetSpeedX < 0) { SetGraphicRect(128, 1, 191, 64); } DrawGraphic(GetX, GetY); } @Finalize { DeleteGraphic(imgExRumia); } task mainTask { loop(60) {yield;} loop { loop(8){ CreateShot01(GetX, GetY, rand(1, 3), GetAngleToPlayer+rand(0, 360), 29, 0); if (GetLife>=3000){ loop(5) {yield;} } if (GetLife>=2000){ loop(1) {yield;} } if (GetLife>=1000){ loop(1) {yield;} } if (GetLife>=500){ loop(1) {yield;} } loop(1) {yield;} } } } task mainTask1 { loop(60) {yield;} loop { loop(8){ CreateShot01(GetX, GetY, rand(1, 3), GetAngleToPlayer+rand(0, 360), 21, 0); if (GetLife>=3000){ loop(5) {yield;} } if (GetLife>=2000){ loop(1) {yield;} } if (GetLife>=1000){ loop(1) {yield;} } if (GetLife>=500){ loop(1) {yield;} } loop(1) {yield;} } } } task mainTask2 { loop(60) {yield;} loop { loop(8){ CreateShot01(GetX, GetY, rand(1, 3), GetAngleToPlayer+rand(0, 360), 22, 0); if (GetLife>=3000){ loop(5) {yield;} } if (GetLife>=2000){ loop(1) {yield;} } if (GetLife>=1000){ loop(1) {yield;} } if (GetLife>=500){ loop(1) {yield;} } loop(1) {yield;} } } } task mainTask3 { loop(60) {yield;} loop { loop(8){ CreateShot01(GetX, GetY, rand(1, 3), GetAngleToPlayer+rand(0, 360), 24, 0); if (GetLife>=3000){ loop(5) {yield;} } if (GetLife>=2000){ loop(1) {yield;} } if (GetLife>=1000){ loop(1) {yield;} } if (GetLife>=500){ loop(1) {yield;} } loop(1) {yield;} } } } task mainTask4 { loop(60) {yield;} loop { loop(8){ CreateShot01(GetX, GetY, rand(1, 3), GetAngleToPlayer+rand(0, 360), 28, 0); if (GetLife>=3000){ loop(5) {yield;} } if (GetLife>=2000){ loop(1) {yield;} } if (GetLife>=1000){ loop(1) {yield;} } if (GetLife>=500){ loop(1) {yield;} } loop(1) {yield;} } } } }