#東方弾幕風 #Title[test5] #Text[test] #Image[] #BackGround[User] #ScriptVersion[2] script_enemy_main { /* 弾Aをオブジェクトとして宣言 弾Aを作成するタスクで宣言しない理由は script_enemy_main直下におくことで 全体から弾Aの情報を呼べるようにして 弾B側から弾Aの情報を確認する必要がある為。 */ @Initialize() { SetLife(1000);SetGraphicRect(64,1,127,64); LoadGraphic(GetCurrentScriptDirectory~"img\ExRumia.png"); SetMovePosition02(GetCenterX,60,30); Main;//メインタスクの実行 } @MainLoop(){SetCollisionA(GetX,GetY,32);SetCollisionB(GetX,GetY,24);yield;} @DrawLoop(){SetTexture(GetCurrentScriptDirectory~"img\ExRumia.png");DrawGraphic(GetX,GetY);} @Finalize(){DeleteGraphic(GetCurrentScriptDirectory~"img\ExRumia.png");} task Main{loop(30){yield;}loop{ ObjShot; loop(10){yield;} }} task ObjShot{ let obj=Obj_Create(OBJ_SHOT); Obj_SetPosition(obj,GetX,GetY); Obj_SetSpeed(obj,0); Obj_SetAngle(obj,0); ObjShot_SetGraphic(obj,RED02); let SaveX=GetX; let SaveY=GetY; let Angle=50; let AngleAdd=2; let Length=0; let LengthAdd=3; loop(60){Obj_SetPosition(obj,SaveX+cos(Angle)*Length,SaveY+sin(Angle)*Length);Length+=LengthAdd;yield;} loop(40){Obj_SetPosition(obj,SaveX+cos(Angle)*Length,SaveY+sin(Angle)*Length);Angle+=AngleAdd;yield;} loop(60){Obj_SetPosition(obj,SaveX+cos(Angle)*Length,SaveY+sin(Angle)*Length);Length-=LengthAdd;yield;} Obj_Delete(obj); } }//EndOfFile