ene 20
Pasar parámetros en un Delegate de ActionScript3
AS3. Autor: xleon Add comments
Haciendo de las mías en AS3, lo primero que eché en falta fueron los delegates de AS2 que podían pasar parámetros:
[as]unboton.onRelease = Delegate.create(ambito, ambito.funcion, param1, param2,….paramN);[/as]
o también…
unboton.addEventListener("evento", Delegate.create(ambito, ambito.funcion, param1, param2,....paramN) );
Pues algo tan sencillo no he podido hacer en AS3, y vi que existían otras maneras de hacerlo, pero ninguna tan clara y fácil como la forma que usábamos en as2. Hasta que encontré esta maravillosa página donde dan la solución al problema con una simple clase “Callback” que sirve exactamente para estos menesteres. A partir de ahora, la utilizaré siempre ;)
Un ejemplo de uso en as3:
package { import xFramework.utils.Callback; import flash.display.Sprite; import flash.display.Shape; import flash.events.MouseEvent; import flash.events.Event; public class CallbackTest extends Sprite { public function CallbackTest() { var s:Shape = new Shape(); s.graphics.beginFill(0x000000); s.graphics.drawCircle(100, 100, 10); s.graphics.endFill(); var cont : Sprite = new Sprite(); cont.addChild(s); cont.addEventListener(MouseEvent.CLICK, Callback.create(onClicked, cont, "esto funciona")); addChild(cont); } private function onClicked(event:Event, cont:Sprite, str2:String):void { trace(cont, str2); } } }

enero 21st, 2008 at %H:%M 12Mon, 21 Jan 2008 12:08:11 -060011.
También puedes usar esto:
Boton1_bt.addEventListener(MouseEvent.CLICK,function(){Imprimir(1)});
Boton2_bt.addEventListener(MouseEvent.CLICK,function(){Imprimir(2)});
function Imprimir(numero){
trace(”Se ha elegido el boton ” + numero);
}
Y también puedes usar el target.
enero 21st, 2008 at %H:%M 06Mon, 21 Jan 2008 18:47:15 -060015.
Me gusta esa opción, pero la del Callback me parece más limpia. De todas formas, es bueno saberlo. Gracias!
agosto 21st, 2008 at %H:%M 06Thu, 21 Aug 2008 18:48:04 -050004.
Carlos te felicito muy buen tip
enero 21st, 2009 at %H:%M 11Wed, 21 Jan 2009 11:07:39 -060039.
me gusta más la idea de carlos, más fácil de leer