#東方弾幕風 #Title[灯符「流し魂」] #Text[0807弾幕風コンテスト] #Player[FREE] #ScriptVersion[2] #Image[.\img\Snap_SG.png] script_enemy_main { let imageBoss="script\img\ExRumia.png"; let name="灯符「流し魂」"; let time=65; let score=1000000; let fc=-80; let i=0; let ii=0; let an; let px=0; let py=0; let c=[0,0,0,0,0,0,0,0,0,0]; let alp=0; task cs(x,y,v,a,p,p2){ let t=Obj_Create(OBJ_SHOT); let f=true; ObjLaser_SetLength(t,50); ObjLaser_SetWidth(t,40); Obj_SetPosition(t,x,y); Obj_SetSpeed(t,v); Obj_SetAngle(t,a); ObjShot_SetBombResist(t,false); ObjShot_SetGraphic(t,p); ObjShot_ToItem(t,true); while(!Obj_BeDeleted(t) || !f){ if (Obj_GetY(t)>=180 && f){ Obj_SetAngle(t,90); ObjShot_SetGraphic(t,p2); Obj_SetY(t,200); Explosion01(Obj_GetX(t),Obj_GetY(t),20,0.2,10); f=false; } yield; } } function lA(){ CreateLaserA(1,GetClipMinX-500,200,GetClipMaxX-GetClipMinX+500*2,40,BLUE01,3); SetLaserDataA(1,0,0,0,0,0,0); FireShot(1); } task E(x,y){ let cl=rand(40,155); SetShotColor(cl,cl,cl+100); let t=Obj_Create(OBJ_SHOT); let f=rand_int(5,10); let a=rand(0,360); let tx=x+(f)*cos(a); let ty=y+(f)*sin(a); let c=0; //Obj_SetSpeed(t,0); //Obj_SetAngle(t,0); Obj_SetAutoDelete(t,false); Obj_SetAlpha(t,255); Obj_SetCollisionToPlayer(t,false); //ObjShot_SetDelay(t,f+1); ObjShot_SetBombResist(t,true); ObjShot_SetGraphic(t,BLUE02); ObjShot_ToItem(t,false); /*while(ccos(a-ta+3)){a-=3;} //弾幕風スレの>>19さんより x+=cos(a)*0.5; y+=sin(a)*0.5; c++; yield; } Explosion01(x,y,30,0.3,20); Explosion01(x,y,20,0.2,20); Explosion01(x,y,10,0.1,20); SetShotColor(255,255,255); CreateLaser01(x,y,1,atan2(GetPlayerY-y,GetPlayerX-x)-15,30,30,RED01,0); CreateLaser01(x,y,1,atan2(GetPlayerY-y,GetPlayerX-x),30,30,RED01,0); CreateLaser01(x,y,1,atan2(GetPlayerY-y,GetPlayerX-x)+15,30,30,RED01,0); ObjShot_FadeDelete(t); } function sB{ SetShotColor(255,255,255); i=0; loop(10){ cs(GetX,GetY,1.2,1.7*-fc*5-i*360/10,AQUA03,AQUA12); i++; } } function sC{ SetShotColor(255,255,255); i=0; loop(10){ cs(GetX,GetY,1.2,1.7*fc*5+i*360/10,AQUA03,AQUA12); i++; } } @Initialize { //SetShotAutoDeleteClip(200,200,200,200); LoadGraphic(imageBoss); CutIn(YOUMU, name,"", 0, 0, 0, 0); SetAlpha(255); SetLife(1000); SetTimer(time); SetScore(score); MagicCircle(true); //SetDurableSpellCard(); SetDamageRate(15, 10); SetEnemyMarker(true); //SetGraphicRect(0, 0, 129, 129); //SetShotAutoDeleteClip(200,200,200,200); //SetEffectForZeroLife(60,100,100); SetX(GetCenterX); SetY((GetClipMinY+200)/2); lA; } @MainLoop { SetCollisionA(GetX, GetY, 24); SetCollisionB(GetX, GetY, 10); if (fc>-1){ if (fc%140==0){sA;} if (fc%100==20){sB;} if (fc%100==70){sC;} } fc++; yield; } @DrawLoop { SetRenderState(ALPHA); SetGraphicAngle(0,0,0); SetColor(255,255,255); SetAlpha(255); SetGraphicScale(1,1); //DrawBoss(); SetTexture(imageBoss); SetGraphicRect(0,0,64,64); DrawGraphic(GetX,GetY); } @BackGround{ } @Finalize { //DeleteEnemyShot(ALL); //SetColor(255,255,255); //Concentration01(60); //loop(30){CreateItem(ITEM_SCORE,GetX+rand(-50,50),GetY+rand(-50,50));} //Slow(0); DeleteGraphic(imageBoss); } }