Libgdx: Acción.OnCompletionListener

Creado en 14 feb. 2014  ·  3Comentarios  ·  Fuente: libgdx/libgdx

No pude encontrar una manera de verificar si una Acción especial (paralela a algunas otras sobre el mismo actor) ha terminado. Algo como una interfaz Action.OnCompletionListener como Music.OnCompletionListener sería realmente agradable.

Acción a = Acciones.fadeOut(10);
a.setOnCompletionListener(nueva Acción.OnCompletionListener() {
//hacer algo.
})

¿Hay alguna razón especial por la que no haya nada como esto integrado?

Comentario más útil

Puedes usar:

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

No puedo pensar en un escenario en el que un oyente de finalización sea más útil.

Todos 3 comentarios

Puedes usar:

sequence(someAction, new Action() {
    public boolean act (float delta) {
        // This runs when someAction is done.
        return true;
    }
});
// OR, one line of code less:
sequence(someAction, run(new Runnable() {
    public void run () {
        // This runs when someAction is done.
    }
}));

No puedo pensar en un escenario en el que un oyente de finalización sea más útil.

¡Oh, bueno, eso es bueno! Muchas gracias. No sabía que puedes integrar tus propias Acciones tan fácilmente.

Por cierto, ¿podría explicarme qué hace un AfterAction (Actions.after(Action))? No pude averiguar qué. Tropecé con él mientras buscaba un método de escucha.

Sí, la idea general con las acciones es que puedes escribir las tuyas fácilmente. :)

AfterAction "Ejecuta una acción solo después de que hayan finalizado todas las demás acciones en el actor en el momento en que se agregó esta acción". Entonces agrega la acción y no se completa hasta que se completan todas las demás acciones. Puede usar esto para bloquear una secuencia para hacer que las cosas sucedan después de otras cosas.

CountdownEventAction es otra forma de controlar que las acciones sucedan después de otras cosas. Vea este hilo y la publicación de blog vinculada desde allí:
http://www.badlogicgames.com/forum/viewtopic.php?t=12322&p=56104

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ashrafsa picture ashrafsa  ·  19Comentarios

realitix picture realitix  ·  16Comentarios

alexdriedger picture alexdriedger  ·  18Comentarios

travishaynes picture travishaynes  ·  16Comentarios

adrianmay picture adrianmay  ·  29Comentarios