Otener parámetros en eventos de Actionscript 3
Cuando lanzamos un evento en Actionscript 3, por ejemplo de la clase MouseEvent, ponemos recuperar una serie de parámetros lanzados con ese evento.
Por ejemplo, en este código:
- boton.addEventListener(MouseEvent.MOUSE_DOWN, onBotonEvent);
- function onBotonEvent(e:MouseEvent):void
- {
- trace(e);
- }
El trace() nos mostraría el evento que ha lanzado la función mostrando también todos los parámetros. En este caso serían estos:
- MouseEvent type="mouseDown" bubbles=true cancelable=false eventPhase=2 localX=43 localY=30 stageX=170.55 stageY=106 relatedObject=null ctrlKey=false altKey=false shiftKey=false delta=0
Recuperar estos parámetros y saber con detalle el evento que ha lanzado la función nos puede resultar muy útil en muchos casos.
por ejemplo, su quisiésemos ejecutar una acción u otra al clicar sobre el botón dependiendo si estamos pulsando la tecla
- boton.addEventListener(MouseEvent.MOUSE_DOWN, onBotonEvent);
- function onBotonEvent(e:MouseEvent):void
- {
- e.ctrlKey == true ? accion1() : accion2();
- }
Aquí, si clicamos al botón sin tener pulsada la tecla
También podemos utilizar este recurso para asignar la misma función a varios eventos y poder asignar diferentes parámetros a la función dependiendo del tipo de evento:
- import fl.motion.Color;
- boton.addEventListener(MouseEvent.ROLL_OVER, onBotonEvent);
- boton.addEventListener(MouseEvent.ROLL_OUT, onBotonEvent);
- boton.addEventListener(MouseEvent.MOUSE_DOWN, onBotonEvent);
- boton.addEventListener(MouseEvent.MOUSE_UP, onBotonEvent);
- function onBotonEvent(e:MouseEvent):void
- {
- var code:uint;
- e.type == "rollOver" ? code = 0xCCCCCC : null;
- e.type == "rollOut" ? code = 0x999999 : null;
- e.type == "mouseDown" ? code = 0x666666 : null;
- e.type == "mouseUp" ? code = 0xCCCCCC : null;
- var color:Color = new Color();
- color.setTint(code, 1);
- e.target.transform.colorTransform = color;
- }
En este ejemplo, todos los eventos del botón ejecutan la misma función pero dependiendo de cada uno se coloreará el clip de un color u otro.
Compártelo:
Visto 12.386 veces
Órale! Muy sencillo pero bastante útil! Gracias :D.
Siempre he pensado que eso se podía hacer. Genial como siempre Z.
[…] Además el manejo de las acciones en actionscript 3, permite obtener datos de las acciones y programar comportamientos mas dinámicos tal y como se muestra en este post […]
Con que poquito… , tu si que formas parte.
Muchas gracias¡¡¡¡¡¡.