Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Yuzo en Octubre 20, 2018, 07:24:43 PM

Título: Desplazarse hasta un punto y detenerse[SOLUCIONADO]
Publicado por: Yuzo en Octubre 20, 2018, 07:24:43 PM
Saludos;

He creado un objeto que en un momento concreto ha de desplazarse hasta un punto y detenerse.

Desplazarse se desplaza, pero después se queda ahí atascado, alguien sabe como ayudarme ?

He puesto:

STEP:
[GML]
// DESCIENDE
if desciende == true{
move_towards_point(9700,300,5)
}

// SI SE POSICIONA A LA DERECHA
if y >= 295 and x >= 9695{
desciende     = false
esta_derecha  = true
}
[/gml]

Debería funcionar pero parece que el move_towards_point, que solo debería activarse si la variable "desciende" es true sigue activado, a pesar de que he comprobado con un string que la variable desciende esta en false una vez alcanza el punto, ya no se que hacer, una ayudita ?...

Como siempre, Gracias de antemano amigos.

Un Saludo.
Título: Re:Desplazarse hasta un punto y detenerse
Publicado por: 3dgeminis en Octubre 20, 2018, 08:00:05 PM
move_towards_point utiliza speed, asi que si no la detienes continuara moviendose. Pon speed=0 cuando llegue a su destino.
Título: Re:Desplazarse hasta un punto y detenerse
Publicado por: Yuzo en Octubre 20, 2018, 08:01:22 PM
Tambien lo probé y sigue manteniendo la speed a 5, no se por que
Título: Re:Desplazarse hasta un punto y detenerse
Publicado por: Yuzo en Octubre 20, 2018, 10:09:48 PM
Vale, perdona, tienes toda la razon, si que se detiene, entraba en conflicto con otras cosas que tenia en el evento STEP.

El caso es que sigo teniendo un problema, y es que en cuanto le vuelvo a dar valor a SPEED, este sigue cumpliendo la funcion move_towards_point, es como que nunca se cancela, aun que le des una direction diferente y la variable "desciende" que es la que lo controla este en false

No se puede anular la funcion move_towards_point una vez que la activas ?.
Título: Re:Desplazarse hasta un punto y detenerse
Publicado por: 3dgeminis en Octubre 21, 2018, 02:33:05 AM
Segun pienso move_towards_point utiliza las coordenadas del objeto y de la posicion de destino para calcular la direccion (como point_direction), aunque cambies el valor de direction no le afectara.

Podrias usar point_direction y lengthdir_x y lengthdir_y

x+=lengthdir_x(point_direction(x,y,9700,300), 5)
y+=lengthdir_y(point_direction(x,y,9700,300), 5)
Título: Re:Desplazarse hasta un punto y detenerse
Publicado por: Yuzo en Octubre 21, 2018, 03:04:28 PM
Gracias 3DGeminis, todo solucionado !!, no se que haría sin ti !!