Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///Homing Bullet Create Event
- homing = false;
- current_speed = 0;
- max_speed = 0;
- target = noone;
- alarm[1] = 0.5 * room_speed;
- ///Homing Bullet Step Event
- speed = current_speed;
- if instance_exists(target) and homing
- {
- direction = scr_angle_rotate(direction, point_direction(x, y, target.x, target.y - target.sprite_height/2), current_speed);
- image_angle = direction;
- }
- else
- {
- direction = direction;
- image_angle = image_angle;
- }
- ///Homing Bullet Alarm #1 Event
- homing = true;
- ///Homing Bullet Draw Event
- draw_self();
- //draw_line_color(x, y, target.x, target.y, c_red, c_red);
- draw_sprite_ext(spr_crosshair, 0, target.x, target.y - target.sprite_height/2,
- 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);
- ///scr_angle_rotate
- /// scr_angle_rotate(angle, target, speed)
- /// @arg angle
- /// @arg target
- /// @arg speed
- var diff;
- // 180 is to be replaced by "pi" for radians
- diff = scr_cycle(argument1 - argument0, -180, 180);
- // clamp rotations by speed:
- if (diff < -argument2) return argument0 - argument2;
- if (diff > argument2) return argument0 + argument2;
- // if difference within speed, rotation's done:
- return argument1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement