#東方弾幕風 #Title[ヤマトトーラスもどき] #Text[_橙_____ 橙の力。] #Player[FREE] #ScriptVersion[2] script_enemy_main{ let imgBoss="script\ExRumia\img\ExRumia.png"; @Initialize{ SetMovePosition02(GetCenterX,120,30); SetLife(500); SetDamageRate(20,0); LoadGraphic(imgBoss); SetInvincibility(240); attack; main; } @MainLoop{ SetCollisionA(GetX,GetY,24); SetCollisionB(GetX,GetY,24); yield; } task main{ loop(30){yield;} SetText("橙符「安息の大地」"); SetTimer(50); SetScore(1000000); } task attack{ loop(180){yield;} loop{ loop(40){ TorusShot(GetX,GetY,rand(2,4),rand(-60,90),RED32,10,16,2); } loop(60){yield;} ascent(i in -3..4){ TorusShot(GetX,GetY,4,GetAngleToPlayer+i*8,RED32,10,16,1); } loop(60){yield;} loop(40){ TorusShot(GetX,GetY,rand(2,4),rand(90,240),RED32,10,16,2); } loop(60){yield;} ascent(i in -3..4){ TorusShot(GetX,GetY,4,GetAngleToPlayer+i*8,RED32,10,16,1); } loop(60){yield;} } } task TorusShot(x, y, sp, ang, grp, del, wid, num){ //反対側に出現する弾。 /* x 発射元のX座標 y 発射元のY座標 sp 速度 ang 角度 grp 画像 del 遅延時間 wid num 通過回数 */ let obj=Obj_Create(OBJ_SHOT); Obj_SetPosition(obj,x,y); Obj_SetSpeed(obj,sp); Obj_SetAngle(obj,ang); ObjShot_SetGraphic(obj,grp); ObjShot_SetDelay(obj,del); while(!Obj_BeDeleted(obj)){ x=Obj_GetX(obj); y=Obj_GetY(obj); if(num){ if(xGetClipMaxX+wid){ Obj_SetX(obj,x-384-wid*2); num--; } } yield; } } @DrawLoop{ SetTexture(imgBoss); SetGraphicRect(0,0,64,64); DrawGraphic(GetX,GetY); } @Finalize{} }