Febrero 13, 2015, 10:43:46 PM Ultima modificación: Febrero 13, 2015, 11:13:40 PM por arcangelcaos
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.


Cerca del puntero del ratón.  Lo uso para mover el objeto con el raton

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.

hola..  se puede solucionar con la funcion  mp_potential_step    ...saludos