flash - sirve - ¿Cómo puedo definir una función de controlador de eventos de ActionScript en línea en AddEvent Listener?
introduccion a actionscript (1)
Tengo un oyente de acción:
myText.addEventListener(TextEvent.LINK,linkClickHandler);
De acuerdo con esto, tengo que escribir una función de manejador de eventos separada para manejar el evento de enlace de texto.
Ahora mi requisito es que necesito escribir esa función en la misma línea que la que da su nombre. Es decir, algo así como
mytext.addEventListenet(TextEvent.LINK,
function(event:TextEvent) {....code comes here....});
¿Puedo hacer esto en AS3? ¿Cuál será la sintaxis para esto si es posible?
También quiero saber si puedo pasar un parámetro más al controlador de eventos que no sea el evento, que es el parámetro predeterminado.
Tu código funcionará Solo necesito un tipo de devolución en la función.
EDITAR: una clase de delegado simple:
public class Delegate
{
public var cb:Function;
public var args:Array;
public function Delegate(cb:Function, ...args)
{
this.cb = cb;
this.args = args;
}
public static function create(cb:Function, ...args):Function {
var functionProxy:Delegate = new Delegate(cb, args);
return functionProxy._create;
}
public function _create(e:Object=null):void {
var params:Array = new Array();
if(e) {
params.push(e);
}
for each (var o:Object in args[0]) {
params.push(o);
}
cb.apply(null, params);
}
}