Yo ahora estoy haciendo un shooter vertical y mi nave dispara misiles guiados. Te explico como lo he hecho yo:
En el create del objeto misil:
Código [Seleccionar]
target=instance_nearest(x,y,obj_enemigo);
Este código busca la instancia de enemigo más cercana. Si quieres que vaya a por cualquier enemigo, deberás hacer un objeto enemigo_parent y que todos los demás enemigos hereden de él.
En el step:
Código [Seleccionar]
if instance_exists(target) //si existen enemigos
{
motion_add(point_direction(x,y,target.x,target.y),0.5); //se dirige a la posición del target
effect_create_above(ef_smoke, x, y+10, 0, c_gray); //crea un efecto de estela
image_angle=direction-90;//para que el sprite quede bien posicionado
}
if speed>20 speed=20;
Espero te sirva
saludos :GMS: