#東方弾幕風 #Title[欺瞞・フェイクオブナゲット] #Text[補填不可避。移動用関数の定義を忘れない?] #Image[] #BackGround[] #BGM[] #Player[] #ScriptVersion[2] script_enemy_main{ let img ="script\img\ExRumia.png"; @Initialize{ SetLife(2000); LoadGraphic(img); SetTexture(img); CutIn(KOUMA,"欺符「フェイクオブナゲット」","",0,0,0,0,); SetTimer(60); SetScore(100000); StartTask; } @MainLoop{ SetCollisionA(GetX,GetY,24); SetCollisionB(GetX,GetY,24); yield;//敵のライフが0になるまで、この部分が1フレームに1回実行 } @DrawLoop{ if(GetSpeed<0.1){ SetGraphicRect(0,0,64,64); }else if(GetSpeed<0){ SetGraphicRect(128,0,192,64); }else{ SetGraphicRect(192,0,256,64) } DrawGraphic(GetX,GetY);//描画ループ。1フレームに1回実行 } @Finalize { loop(30){ CreateItem(ITEM_SCORE,GetX+rand(-60,60),GetY+rand(-60,60)); } DeleteGraphic(img);//敵が消滅した瞬間に一度だけ実行される部分 } task StartTask{ SetDamageRate(20,20); SetMovePosition02(GetCenterX,GetClipMinY+(GetClipMaxY-GetClipMinY)/4,60); loop(90){yield;} MainTask; } task MainTask{ loop{ Action1; (loop90){yield;} } } sub Action1{ SetMovePosition02(GetCenterX+rand(-90,90), GetClipMinY+(GetClipMaxY-GetClipMinY)/4+rand(-30,30),60); loop(6){ let angle=GetAngleToPlayer-60; loop(5){ let speed=3; loop(7){ CreateShot01(GetX,GetY,speed(-0.1,0.1),angle;rand(-3,3),ORANGE02,10); speed+=0.5; } angle+=30; } loop(6){yield;} } } }