Buenas gente! Como el título dice, me gustaría saber como hacer que un objecto mantenga cierta distancia con el jugador y que a la vez siga la dirección del cursor, en lo que se podría considera una órbita. Esto surge en base a una mecánica que quiero colocar en mi juego, que es la de que el jugador pueda agarrar distintos tipos de bloques con características diferentes, algo similar a lo que se ve en Portal o en Qube, para solucionar puzzles, solo que en 2d. La cuestión de que el bloque mantenga distancia del jugador y que si este se mueve el otro lo siga suavemente dando un efecto de levitación lo hago con este código:


numVX = ((objPlayer.x+16)-x) / 2;
numVY = (objPlayer.y-y) / 2;


   Sin embargo a la hora de hacer que se siga la dirección del mouse no se me ocurre como hacerlo. Si a alguien se sabe alguna forma de llevarlo a cabo lo agradecería mucho. Desde ya muchas gracias.  :)

tienes dos maneras de hacerlo, yo digo eda la primera as un sprite del cursor pero ancho y que el cursor este a un costado y al finalizar el sprite pones el origen en el lado donde no esta el cursor y le pones el codigo en el evento draw
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale,point_direction(x,y,mouse_x,mouse_y , image_blend, image_alpha);

y la otra has el sprite del cursor normal y le pones el codigo en el evento steep

distancia=64;

draw_sprite_ext(sprite_index, image_index, lengthdir_x(mouse_x,distancia) ,lengthdir_y(mouse_y,distancia) , image_xscale, image_yscale, image_angle, image_blend, image_alpha);

jaja espero que te sirva y le entiendas jaja