task CreateTileObject(life,size,scl,x,y,id) { let tile = ObjEnemy_Create(OBJ_ENEMY); ObjEnemy_Regist(tile); let taskON = true; let maxlife = life*10; let currlife = maxlife; let death_ang = -360-90; let alpha = 0; let numtile_d = 0; let numtile_d_tot = GetCommonData("numtile_d_tot",0); let death_eff = true; let r = 255; let g = 105; let b = 155; let shot_graphic; if(id == 0) { ObjPrim_SetTexture(tile, img_tile0); shot_graphic = TILE_DOT_YELLOW; } if(id == 1) { ObjPrim_SetTexture(tile, img_tile1); shot_graphic = TILE_DOT_RED; } if(id == 2) { ObjPrim_SetTexture(tile, img_tile2); shot_graphic = TILE_DOT_PURPLE; } if(id == 3) { ObjPrim_SetTexture(tile, img_tile3); shot_graphic = TILE_DOT_BLUE; } ObjSprite2D_SetSourceRect(tile, 0, 0, 48, 48); ObjMove_SetPosition(tile,x,y); ObjRender_SetScaleX(tile,scl); ObjRender_SetScaleY(tile,scl); ObjEnemy_SetLife(tile, life); ObjMove_SetPosition(tile,x,y); ObjSprite2D_SetDestCenter(tile); while(taskON == true) { yield; if(ObjEnemy_GetInfo(tile,INFO_LIFE) <= 0) { if(death_eff == true) { CreateShotA1(x, y, 3, GetAngleToPlayer(tile), shot_graphic, 25); ObjEnemy_SetIntersectionCircleToShot(tile,x,y,0); SE(seTileClear_path); //TExplosionB(x, y, 4, scl*0.012, r, g, b, r, g, b, "SHOT", scl); if(id == 0) {TExplosionB(x, y, 3.5, scl*0.010, r, g, b, r, g, b, "SHOT", scl);} death_eff = false; } ObjRender_SetAngleY(tile,death_ang); death_ang += 15; alpha -= 255/36; if(id == 0) {ObjRender_SetAlpha(tile, alpha);} if(alpha <= 0) { if(id == 0) { numtile_d = GetCommonData("numtile_d",0) + 1; SetCommonData("numtile_d", numtile_d); } numtile_d_tot = GetCommonData("numtile_d_tot",0) + 1; SetCommonData("numtile_d_tot", numtile_d_tot); Obj_Delete(tile); if(id >0 && taskON == true) {CreateTileObject(life,size,scl,x,y,id-1);} taskON = false; } } else { if(death_ang <= 0) { ObjRender_SetAngleY(tile,death_ang); death_ang += 15; alpha += 255/30; ObjRender_SetAlpha(tile, alpha); } else { ObjEnemy_SetIntersectionCircleToShot(tile,x,y,size/3); ObjEnemy_SetIntersectionCircleToPlayer(tile,x,y,size/3); } } } }