Advertisement
Guest User

Homing Bullet Current Setup

a guest
Dec 15th, 2019
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ///Homing Bullet Create Event
  2. homing = false;
  3. current_speed = 0;
  4. max_speed = 0;
  5. target = noone;
  6.  
  7. alarm[1] = 0.5 * room_speed;
  8.  
  9. ///Homing Bullet Step Event
  10. speed = current_speed;
  11.  
  12. if instance_exists(target) and homing
  13. {
  14.     direction = scr_angle_rotate(direction, point_direction(x, y, target.x, target.y - target.sprite_height/2), current_speed);
  15.     image_angle = direction;
  16. }
  17.  
  18. else
  19. {
  20.     direction = direction;
  21.     image_angle = image_angle;
  22. }
  23.  
  24. ///Homing Bullet Alarm #1 Event
  25. homing = true;
  26.  
  27. ///Homing Bullet Draw Event
  28. draw_self();
  29. //draw_line_color(x, y, target.x, target.y, c_red, c_red);
  30. draw_sprite_ext(spr_crosshair, 0, target.x, target.y - target.sprite_height/2,
  31.                 scr_wave(0.5, 2.0, 1.0, 0.0), scr_wave(0.5, 2.0, 1.0, 0.0), 0, c_white, 0.5);
  32.  
  33. ///scr_angle_rotate
  34. /// scr_angle_rotate(angle, target, speed)
  35. /// @arg angle
  36. /// @arg target
  37. /// @arg speed
  38.  
  39.  
  40. var diff;
  41. // 180 is to be replaced by "pi" for radians
  42. diff = scr_cycle(argument1 - argument0, -180, 180);
  43. // clamp rotations by speed:
  44. if (diff < -argument2) return argument0 - argument2;
  45. if (diff > argument2) return argument0 + argument2;
  46. // if difference within speed, rotation's done:
  47. return argument1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement