Advertisement
Guest User

Untitled

a guest
Mar 11th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. if children == 0 exit;
  2.  
  3. for (var i = 0; i < children; i += 1)
  4. {
  5.     if instance_exists(child[i])
  6.     {
  7.         var ang = image_angle;
  8.         var xsc = image_xscale;
  9.         var ysc = image_yscale;
  10.         var xp = round(x);
  11.         var yp = round(y);
  12.         var img_alpha = image_alpha;
  13.         var vis = visible;
  14.         var l_off = sprite_get_xoffset(sprite_index);
  15.         var r_off = sprite_get_width(sprite_index) - l_off;
  16.         var t_off = sprite_get_yoffset(sprite_index);
  17.         var b_off = sprite_get_height(sprite_index) - t_off;
  18.        
  19.         with child[i]
  20.         {
  21.             var spr = sprite_index;
  22.             if !sprite_exists(spr) spr = mask_index;
  23.             var c_l_off = sprite_get_xoffset(spr);
  24.             var c_r_off = sprite_get_width(spr) - c_l_off;
  25.             var c_t_off = sprite_get_yoffset(spr);
  26.             var c_b_off = sprite_get_height(spr) - c_t_off;
  27.            
  28.             visible = vis;
  29.        
  30.             if !update_angle ang = 0;
  31.             if !update_scale {xsc = 1; ysc = 1;}
  32.            
  33.             if update_coords
  34.             {
  35.                 var xadd, yadd;
  36.                 xadd = x_add;
  37.                 yadd = y_add;                
  38.                
  39.                 if halign == fa_right xadd = x_add + r_off - c_r_off;
  40.                 else if halign == fa_left xadd = x_add - l_off + c_l_off;
  41.                 if valign == fa_top yadd = y_add - t_off + c_t_off;
  42.                 else if valign == fa_bottom yadd = y_add + b_off - c_b_off;
  43.                
  44.                 dir = point_direction(0, 0, xadd, yadd);
  45.                 dis = point_distance(0, 0, xadd/abs(parent.xscale_start), yadd/abs(parent.yscale_start));
  46.                
  47.                 x = xp + round( lengthdir_x(dis * xsc, ang + dir) ) + x_offset;
  48.                 y = yp + round( lengthdir_y(dis * ysc, ang + dir) ) + y_offset;
  49.             }
  50.            
  51.             if update_alpha image_alpha = img_alpha * alpha;
  52.            
  53.             if update_scale
  54.             {
  55.                 image_xscale = xsc * xscale;
  56.                 image_yscale = ysc * yscale;
  57.             }
  58.            
  59.             if update_angle image_angle = ang + angle;
  60.         }
  61.        
  62.     }
  63.     else child_remove(i);
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement