Pasar parámetros al addEventListener en AS3
Publicado por Iván Gajate el 5 de Noviembre de 2008 en AS3, Flash, Tutoriales | 18 comentarios »
Algo tan sencillo y resulta que no se puede ¿?
plegar_btn.addEventListener(MouseEvent.MOUSE_UP, plegar, true);
No me deja ponerle mas parámetro tras la referencia a la función. ¿para qué sirve una función si no le puedo pasar parámetros? Y es una pena, porque con éste método ya me había olvidado del Delegate.create…
Buscando por la red, la solución que mas me convence por lo sencilla y elegante es la de Wildwinter, que se ha construido una clase Callback tal y como se hacía con el Delegate de AS2, de tal manera que ahora podemos poner
plegar_btn.addEventListener(MouseEvent.MOUSE_UP, Callback.create(plegar, true));
Y con ello conseguimos poder pasar los parámetros que queramos a la función plegar. En este caso "true", pero podría ser cualquier otro, o varios.
Lo mejor de este método frente a otros es que es un "envoltorio" del verdadero evento, con lo que en la función receptora, seguiremos teniendo como primer parámetro el evento de tipo MouseEvent.
