Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. Beam object:
  2. Create:
  3. ///Set_Variables
  4. dir = 0; //create variable dir
  5. beam = instance_create(x, y, obj_laserimpact); //Create impact beam
  6.  
  7. /*
  8. When working with this engine make shure the origin point
  9. of your laser is in the middle, precise collision is ticked
  10. on and the sprite is only 1 pixle in width. The origin of your
  11. impact beam should be centered.
  12. alarm[0] = 1
  13.  
  14. Alarm 0:
  15. instance_destroy()
  16.  
  17. step:
  18. ///Laser
  19. image_xscale = 1; //reset image_xscale
  20.  
  21. while !place_meeting(x, y, obj_partarget)
  22. {
  23. if image_xscale < 660
  24. {image_xscale += 1;}
  25. else {break;}
  26. }
  27. //surface_resize(lasersurf1,image_xscale,100)
  28. obj_laserimpact.x = x+lengthdir_x(image_xscale, dir); //set x for imapact beam at end of laser
  29. obj_laserimpact.y = y+lengthdir_y(image_xscale, dir); //set y for imapact beam at end of laser
  30.  
  31. xend = x+lengthdir_x(image_xscale, dir);
  32. yend = y+lengthdir_y(image_xscale, dir);
  33.  
  34.  
  35. draw:
  36. draw_sprite_tiled_area(spr_beam1,obj_pauseer.laseranim,obj_playertracker.x,obj_playertracker.y-obj_playertracker.vspeed-2,obj_playertracker.x,yend-8,xend,yend+9)
  37.  
  38.  
  39. draw_sprite_tiled_area:
  40. /// draw_sprite_tiled_area(sprite,subimg,x,y,x1,y2,x2,y2)
  41. //
  42. // Draws a repeated sprite image, tiled to fill a given region and with
  43. // a given offset.
  44. //
  45. // sprite sprite to draw, real
  46. // subimg sprite subimage to draw, real
  47. // x,y origin offset, real
  48. // x1,y1 top-left corner of tiled area, real
  49. // x2,y2 bottom-right corner of tiled area, real
  50. //
  51. /// GMLscripts.com/license
  52. {
  53. var sprite,subimg,xx,yy,x1,y1,x2,y2;
  54. sprite = argument0;
  55. subimg = argument1;
  56. xx = argument2;
  57. yy = argument3;
  58. x1 = argument4;
  59. y1 = argument5;
  60. x2 = argument6;
  61. y2 = argument7;
  62.  
  63. var sw,sh,i,j,jj,left,top,width,height,X,Y;
  64. sw = sprite_get_width(sprite);
  65. sh = sprite_get_height(sprite);
  66.  
  67. i = x1-((x1 mod sw) - (xx mod sw)) - sw*((x1 mod sw)<(xx mod sw));
  68. j = y1-((y1 mod sh) - (yy mod sh)) - sh*((y1 mod sh)<(yy mod sh));
  69. jj = j;
  70.  
  71. for(i=i; i<=x2; i+=sw) {
  72. for(j=j; j<=y2; j+=sh) {
  73.  
  74. if(i <= x1) left = x1-i;
  75. else left = 0;
  76. X = i+left;
  77.  
  78. if(j <= y1) top = y1-j;
  79. else top = 0;
  80. Y = j+top;
  81.  
  82. if(x2 <= i+sw) width = ((sw)-(i+sw-x2)+1)-left;
  83. else width = sw-left;
  84.  
  85. if(y2 <= j+sh) height = ((sh)-(j+sh-y2)+1)-top;
  86. else height = sh-top;
  87.  
  88. draw_sprite_part(sprite,subimg,left,top,width,height,X,Y);
  89. }
  90. j = jj;
  91. }
  92. return 0;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement