Don't like ads? PRO users don't see any ads ;-)
Guest

xeryan

By: a guest on Aug 12th, 2012  |  syntax: Game Maker  |  size: 1.45 KB  |  hits: 19  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /*DRAW INSTANCE BORDER - SCRIPT BY TIZZIO
  2.  * modified version for AniQu3n */
  3.  
  4. var i,b,ds,dr,len;
  5. i=argument0;
  6. xx=argument2;
  7. yy=argument3;
  8. if(i!=noone) {
  9.     x1=xx-i.sprite_width;
  10.     y1=yy-i.sprite_height;
  11.     ds=point_distance(xx,yy,x1,y1);
  12.     dr=point_direction(xx,yy,x1,y1);
  13.     x1=xx+ds*oProg.workarea_zoom/2*cos(degtorad(dr+i.image_angle));
  14.     y1=yy-ds*oProg.workarea_zoom/2*sin(degtorad(dr+i.image_angle));
  15.    
  16.     x2=xx+i.sprite_width;
  17.     y2=yy-i.sprite_height;
  18.     ds=point_distance(xx,yy,x2,y2);
  19.     dr=point_direction(xx,yy,x2,y2);
  20.     x2=xx+ds*oProg.workarea_zoom/2*cos(degtorad(dr+i.image_angle));
  21.     y2=yy-ds*oProg.workarea_zoom/2*sin(degtorad(dr+i.image_angle));
  22.        
  23.     x3=xx+i.sprite_width;
  24.     y3=yy+i.sprite_height;
  25.     ds=point_distance(xx,yy,x3,y3);
  26.     dr=point_direction(xx,yy,x3,y3);
  27.     x3=xx+ds*oProg.workarea_zoom/2*cos(degtorad(dr+i.image_angle));
  28.     y3=yy-ds*oProg.workarea_zoom/2*sin(degtorad(dr+i.image_angle));
  29.    
  30.     x4=xx-i.sprite_width;
  31.     y4=yy+i.sprite_height;
  32.     ds=point_distance(xx,yy,x4,y4);
  33.     dr=point_direction(xx,yy,x4,y4);
  34.     x4=xx+ds*oProg.workarea_zoom/2*cos(degtorad(dr+i.image_angle));
  35.     y4=yy-ds*oProg.workarea_zoom/2*sin(degtorad(dr+i.image_angle));
  36.  
  37.     //disegno rettangolo di selezione  
  38.     if (argument1==2) {
  39.       draw_set_color(c_white);
  40.       draw_line(x1,y1,x2,y2);
  41.       draw_line(x2,y2,x3,y3);
  42.       draw_line(x3,y3,x4,y4);
  43.       draw_line(x4,y4,x1,y1);
  44.     }
  45. }