¿detener movimiento creado con this.animar?

Hola a todos!
Supongamos tengo un actor que se mueve con:

this.animar(Tipo.lineal,-1,2).mover_x_hasta(2600).mover_x_hasta(2250);

A traves de un mensaje me gustaría poder detener el movimiento, pero no encuentro una manera sencilla de hacerlo. Haría falta algún método más para this.animar que permitiera detener las animaciones.
Pd: el método sencillo que encontré es eliminar el actor y crear otro igual, pero sin movimiento

Si quieres mover un objeto desde un punto A a B, y detenerlo en esa transición, no te resultaría mas fácil modificar su posición para así mover y detener en cualquier momento?

En realidad no @PabloSosa , es más fácil usar el this.animar, de lo contrario debes usar estados de automatas y se trata de una simple plataforma que se mueve infinitamente

Hola @lukeitor !!!, sí, se puede detener la animación pero hay que seguir algunos pasos.

Primero, tienes que guardar lo que te devuelve la función animación en un atributo, y luego llamar a la función “eliminar_inmediatamente” para detener la animación por completo.

Te paso un ejemplo de cómo te debería quedar el código:

y este es un ejemplo completo, con un botón que emite una señal para detener el movimiento:

Abrir este proyecto en el editor de pilas

Ahora voy a documentar un poco mejor el tema de las animaciones, porque ví que no mencioné eso en el manual y es bastante útil. De hecho, creo que voy a crear un método llamado “detener_animaciones” para que no haga falta guardar en un atributo lo que devuelve la función animar.

1 Like