Aquí os dejo la segunda entrega de mis periplo aprendiendo eventos. 100% recomendable para los que todavía no conocéis palabras como EventDispatcher, Delegate, Function.apply() o callback.
En la documentación de la clase, tenéis la explicación del ejemplo.
/** * * com.electroduendes.ejercicios.callback.Perro * @author Alejandro Sáncez Marcos * @version 0.1 * @usage Tutorial-ejemplo de uso de un callback * * * Es muy útil el uso de callbacks como manera de brindar a tu función de compor- * tamientos diferentes en base a parámetros o otras funciones. * * En este ejemplo, veremos cómo nuestra clase "perro" despierta al amo * por un ladrido. * La base estriba en el tipo de dato Function, podremos pasar una función y * ejecutarla cuando queramos posteriormente con "apply". * * * Para aquellos que optan por la Orientación a Objetos en su código existen * maneras más óptimas, como el paquete EventDispatcher, disponible a partir de * la versión 7.2. del Flash Player. Si todavía no dominas al máximo tu orientación a objetos, o * necesitas dotar de comportamiento simple basado en eventos tus clases, * este es tu ejemplo. * * Implementación: * * import com.electroduendes.ejercicios.callback.Perro; * * var mastin:Perro = new Perro(); * var miCallback:Object = {func:despertar, ambito:this, parms:[]}; * function despertar() { * trace("el amo se despierta"); * } * mastin.setOnEndLadrido(miCallback); * mastin.ladrar(); * */ class com.electroduendes.ejercicios.callback.Perro { //un objeto con tres atributos de tipo Function, ambito, Array private var callback : Object = null; /** * @usage ladra */ public function ladrar () : Void{ trace ("guau"); if (callback != null) // despachamos la función mediante apply callback.func.apply (callback.ambito, callback.parms); } /** * * @usage setter del callback: le enviamos una función para que * la ejecute al fin del ladrido * @param callback que contiene una funcion */ public function setOnEndLadrido (callback : Object) : Void { this.callback = callback; } }
1 response so far ↓
1 electroduendes.com » gdispatcher, la navaja suiza de los eventos // Feb 5, 2006 at 10:09 pm
[...] y enlaces relacionados sobre el tema. Callbacks, la antesala de los listeners.Lo que viene: listeners en Actionscript 3.0 Implementación del uso de listeners con un combo y la clase TransitionManager Un ejemplo de uso de EventDispatcher en actionscript.org [...]
Leave a Comment