#東方弾幕風 #Title[塞符「天孫降臨の軌跡」] #Text[塞符「天孫降臨」のアレンジです。完全固定弾幕なんでパターン組めば楽勝です。弾の密度に注意してください。] #ScriptVersion[2] script_enemy_main { let name = "塞符「天孫降臨の軌跡」"; let imgBoss = "script\img\ExRumia.png"; let frame = -60; // 初期位置 let xIni= 224; let yIni= 120; let angleA=0; let speedA=0; @Initialize { CutIn(YOUMU, name, "", 0, 0, 0, 0); SetLife(4000); SetTimer(50); SetScore(5000000); LoadGraphic(imgBoss); SetTexture(imgBoss); setGraphicStop; TMain; } @MainLoop { SetCollisionA(GetX, GetY, 32); SetCollisionB(GetX, GetY, 16); frame++; if(frame == 10) { frame = 0; if (angleA >= 360){angleA-=360} speedA=cos(angleA*2)+2.5; loop(8) { loop(2) { CreateShot01(GetX, GetY ,speedA, angleA, YELLOW21, 15); CreateShot01(GetX, GetY ,5-speedA, -angleA+22.5, BLUE21,15); angleA=-angleA; } angleA += 45; } angleA += 2; } yield; } @DrawLoop { DrawGraphic(GetX, GetY); } @Finalize { DeleteGraphic(imgBoss); } // メインタスク task TMain { yield; standBy; // 後でここに処理を追加する setGraphicStop; } // 初期位置へ移動 sub standBy { let wIni = 60; SetMovePosition02(xIni, yIni, wIni); setGraphicMove; wait(wIni); } // グラフィックの設定 sub setGraphicStop { SetGraphicRect( 0, 0, 64, 64); } sub setGraphicPose { SetGraphicRect( 64, 0, 128, 64); } sub setGraphicLeft { SetGraphicRect(128, 0, 192, 64); } sub setGraphicRight { SetGraphicRect(192, 0, 256, 64); } sub setGraphicMove { if(GetSpeedX < 0) { setGraphicLeft; } else { setGraphicRight; } } // w フレームだけ待つ function wait(w) { loop(w) { yield; } } }