#東方弾幕風 #Title[餅符「つきたて高カロリー」] #Text[弾幕風コンテスト(08年09月度) 秋といえば収穫祭。 お餅はとても美味しいけれど、 食べ過ぎると太ります。] #Player[FREE] #ScriptVersion[2] #Image[] script_enemy_main { let imageBoss="script\img\ExRumia.png"; let name="餅符「つきたて高カロリー」"; let time=60; let score=1000000; let fc=-80; let i=0; let ii=0; let an; let px=0; let py=0; let alp=0; let a=90-17; let l=0; let s=1; task sA(){ let t=[Obj_Create(OBJ_LASER),Obj_Create(OBJ_LASER),Obj_Create(OBJ_LASER),Obj_Create(OBJ_LASER),Obj_Create(OBJ_LASER),Obj_Create(OBJ_LASER),Obj_Create(OBJ_LASER)]; loop(7){ ObjShot_SetDelay(t[i],0); ObjShot_SetBombResist(t[i],true); ObjShot_SetGraphic(t[i],WHITE02); ObjShot_ToItem(t[i],false); Obj_SetSpeed(t[i],0); Obj_SetAutoDelete(t[i],0); Obj_SetAlpha(t[i],64); ObjLaser_SetSource(t[i],false); Obj_SetCollisionToPlayer(t[i],true); i++; } while(true){ l=absolute(250*sin(fc*1.5)); s=0.5+3.5*absolute(sin(fc*1.5)); if (l^2<1){ a+=17; PlaySE("seSuperNaturalBorder1.wav"); PlaySE("seSuperNaturalBorder2.wav"); if (fc>0){sB;} Explosion01(GetX,GetY,10,5,30); Explosion01(GetX,GetY,50,1000,10); Explosion01(GetX,GetY,30,0.5,30); Explosion01(GetX,GetY,20,1,60); } i=0; loop(7){ Obj_SetAngle(t[i],a+i*360/7+360/14); Obj_SetPosition(t[i],GetX+(l+14-40*s/2)*cos(a+i*360/7+360/14),GetY+(l+14-40*s/2)*sin(a+i*360/7+360/14)); ObjLaser_SetLength(t[i],40*s); ObjLaser_SetWidth(t[i],40*s); if (GetEnemyLife>0){Obj_SetAlpha(t[i],0);} i++; } yield; } } function sB(){ loop(30){ CreateShot12(GetX,GetY,rand(-3,3),rand(-0.5,-5),0,0.05,NULL,8,WHITE01,0); } loop(20){ CreateShot12(GetX,GetY,rand(-3,3),rand(-2,-7.5),0,0.1,NULL,7,WHITE02,0); } loop(10){ CreateShot12(GetX,GetY,rand(-3,3),rand(-4,-8),0,0.15,NULL,6,WHITE04,0); } } @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(0,0); SetEnemyMarker(true); //SetGraphicRect(0, 0, 129, 129); //SetShotAutoDeleteClip(200,200,200,200); //SetEffectForZeroLife(60,100,100); SetX(GetCenterX); SetY(GetClipMinY+120); Concentration01(95); } @MainLoop { SetCollisionA(GetX, GetY, 24); SetCollisionB(GetX, GetY, 10); if (fc==0){sA;} if (fc==120){SetDamageRate(35,10);} 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); if (fc>0){ SetTexture("img\Shot.png"); SetGraphicRect(256,0,320,64); SetGraphicScale(s,s); SetRenderState(ADD); SetColor(255,255,255); i=0; loop(7){ SetGraphicAngle(0,0,a+i*360/7+360/14); if (GetEnemyLife>0){DrawGraphic(GetX+(l+14)*cos(a+i*360/7+360/14),GetY+(l+14)*sin(a+i*360/7+360/14));} i++; } } } @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); } }