Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Que un objeto siga al cursor orbitando al jugador  (Leído 256 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado MateG_

en: Marzo 18, 2018, 02:05:12 am
   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:

Código: [Seleccionar]
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.  :)

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado anael

Respuesta #1 en: Marzo 18, 2018, 03:14:40 am
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

 


Desconectado Clamud

Respuesta #2 en: Marzo 18, 2018, 09:10:49 pm
Adjunto un ejemplo