#東方弾幕風 #Title[一定の間隔で隙間が出来るっぽい] #Text[一定の間隔でry] #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; } @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{ let angle=[5,-5,10,-10,80,85,95,100,170,175,185,190,-80,-85,-95,-100]; let han=0;//反射 loop(100){yield;} loop{ loop(20){ loop(10){yield;} ascent(let i in 0..16) loop{ CreateShotA(1,GetX,GetY,10); SetShotDataA(1,0,3,angle[i],0,0,3,RED21); if(han<1){ if(GetX<=GetClipMinX)//左端反射 {SetAngle(180-GetAngle);han++;} if(GetX>=GetClipMaxX)//右端反射 {SetAngle(180-GetAngle);han++;} if(GetY<=GetClipMinY)//上端反射 {SetAngle(-GetAngle);han++;} } FireShot(1); } } loop(100){yield;} yield; } } }