Buenos dias

Muchachos ¿alguien me puede explicar como se usa el evento animation end?

-para que sirve
-como funciona
-que se puede hacer

ya revise el manual pero no me ayudo asi que mucho.

Muchas Gracias de nuevo

Bueno, el nombre es bastante descriptivo.

Sirve para ejecutar código que sólo quieres que se ejecute justo cuando se termina de reproducir un sprite

funciona de manera similar a otros eventos, sólo que no se va ejecutando paso a paso como STEP o DRAW

Por ejemplo, si quieres que un objeto "viva" lo que dura una reproducción de su sprite, pones esto en animation end



if instance_exists(mi_objeto)
{
    instance_destroy()          //Destruir instancia una vez que alcance el último fotograma.
}


Otro ejemplo sería controlar desde cuál subimagen se vuelve a reproducir un sprite. Por ejemplo, imagina que tu personaje tiene una animación para correr, pero las primeras 5 subimágenes del sprite de correr, muestran al personaje tomando vuelo hasta empezar a correr.  Ese movimiento sólo quieres reproducirlo una vez, se vería raro que en cada ciclo el personaje volviera a tomar vuelo. En el evento ANIMATION END pones

if sprite_index == corriendo
    image_index = 5


Cuando el sprite termine, y si sigues presionando la tecla de avanzar, el sprite se reproducirá desde la subimagen 5, y no se verá la acción de tomar vuelo.

bn entiendo algo mas sobre esto...

pero con esto se puede hacer algo como que
tengo asignado a un boton que cambia el sprite a otro sprite atacando, solo quiero que el sprite pase una vez es posible con este evento? como?

#3 Febrero 16, 2013, 10:01:24 PM Ultima modificación: Febrero 16, 2013, 10:04:35 PM por penumbra
mmm creo que sí, si es que entiendo lo que quieres hacer.

Me imagino que ya tienes el código que hace que al presionar una tecla, muestre el ataque. En ANIMATION END pondrías algo como

sprite_index = sprite_parado      //Cambiar al sprite que muestra al personaje parado
image_index = 0                          // Para asegurarte que comience desde la primer subimagen


Bueno, no sé cómo es tu juego, pero ten en cuenta que despues de que termine el  ataque, el personaje puede quedarse parado, o puede estar caminando, si es que presionas las teclas de movimiento. Así que tienes que meter un IF en ANIMATION END para saber si se va a mostrar la animación de estar de pie o la de estar caminando.

-para que sirve
R: ejecute una accion al culminar la animacion, ejemplo en una explosion al culminar destruir la isntancia.

-como funciona
Solo colocas las acciones a realizar cuando termine la animacion del actual sprite.

-que se puede hacer
Bueno para efextos especiales.