Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: arcangelcaos en Febrero 13, 2015, 10:43:46 PM

Título: Ayuda con seguir al mouse
Publicado por: arcangelcaos en Febrero 13, 2015, 10:43:46 PM
Hola, he dejado mi otro proyecto aparcado de momento, y empizo con otro, mas simple, menos temas legales, jejeje.
Bien, esto esto en el step
if mouse_check_button(mb_left)
{move_towards_point(mouse_x, mouse_y,5*global.velocidad)}


Todo perfecto, sigue al mouse, pero hay un pequeño problema, cuando esta cerca, el objeto mimbrea, se mueve como al rededor del puntero, si es que normal con ese código, pero no se como hacer que no lo haga. Hoy estoy un poco espeso, y no carburo bien



He llegado a este código
if mouse_check_button(mb_left)
{if distance_to_point(mouse_x,mouse_y)> 0
  {move_towards_point(mouse_x, mouse_y,5*global.velocidad)}
  else
  {move_towards_point(x, y,0)}
}


Pero no es preciso del todo, puedo mover un poco el raton y el objeto no se mueve.
Título: Re:Ayuda con seguir al mouse
Publicado por: eams1986 en Febrero 13, 2015, 11:48:47 PM
Disculpa cerca de que???
Saludos
Título: Re:Ayuda con seguir al mouse
Publicado por: arcangelcaos en Febrero 14, 2015, 01:03:30 AM
Cerca del puntero del ratón.  Lo uso para mover el objeto con el raton
Título: Re:Ayuda con seguir al mouse
Publicado por: penumbra en Febrero 14, 2015, 02:23:18 AM
El temblor es normal si se está usando esa función. Suponiendo que hay un momento en que el objeto está a 6 pixeles del puntero, la función le indica moverse 5 pixeles, el objeto se mueve esa cantidad de pixeles, y queda a un pixel del puntero, al siguiente paso, en lugar de sólo moverse 1 pixel (lo que le falta para llegar al puntero), se vuelve a mover 5 pixeles, tal como indica la función, entonces se pasa del puntero y queda a 4 pixeles, y esto se repite y se repite en los siguientes pasos, produciendo el temblor en cuestión.

Hay distintas maneras de lidiar con esto, una es que por ejemplo, la función sólo actúe mientras la distancia al puntero sea mayor o igual a 5, de esa manera, cuando se llega a una distancia menor o igual a 5, la función ya no se ejecuta.

Otro punto a tener en cuenta es que la función move_towards_point ajusta la velocidad de la instancia (speed), por lo que incluso si la función deja de llamarse, la velocidad sigue siendo 5, entonces también hay que encargarse de reiniciar speed a 0 para detener por completo el movimiento de la instancia.
Título: Re:Ayuda con seguir al mouse
Publicado por: omick en Febrero 14, 2015, 05:40:01 AM
hola..  se puede solucionar con la funcion  mp_potential_step    ...saludos