Eventos

12
EVENTOS Los eventos para entendernos, vienen agrupados dentro de paquetes (los paquetes son carpetas ). Así por ejemplo un evento del tipo "CLICK" o "DOUBLE_CLICK" lo podremos encontrar dentro del paquete MouseEvent, que reúne todos los eventos de éste tipo. El evento "ENTER_FRAME" se encuentra dentro del paquete Event, y así sucesivamente. La estructura y la sintaxis cambian respecto a versiones anteriores; podemos decir que siempre deberemos realizar los mismos pasos:

description

 

Transcript of Eventos

Page 1: Eventos

EVENTOS

Los eventos para entendernos, vienen agrupados dentro de paquetes (los paquetes son carpetas ). Así por ejemplo un evento del tipo "CLICK" o "DOUBLE_CLICK" lo podremos encontrar dentro del paquete MouseEvent, que reúne todos los eventos de éste tipo. El evento

"ENTER_FRAME" se encuentra dentro del paquete Event, y así sucesivamente.

La estructura y la sintaxis cambian respecto a versiones anteriores; podemos decir que siempre deberemos realizar los mismos pasos:

Crear una función que incorpore el código que se ejecutará con el evento.

Incluir un parámetro ( variable ) dentro de la función cuyo tipo de datos será el paquete de evento, por ejemplo si vamos a ejecutar una acción con un CLICK escribiremos ( e:MouseEvent ). El nombre del parámetro

Page 2: Eventos

puede ser el que queramos ( por costumbre se suele usar "e" o "event") y por último añadirle :void. ( más adelante veremos que significa )

Añadir un eventListener al objeto en cuestión; esto se hace escribiendo el nombre del símbolo, un punto y la función addEventListener

añadiremos dos parámetros al addEventListener: el evento precedido de su paquete, y la función que queremos que se ejecute ( MouseEvent.CLICK, saludar ).

El evento ENTER_FRAME

Aquellos que estén acostumbrados a versiones anteriores de ActionScript, sabrán que era un evento muy utilizado, por ejemplo para modificar continuamente propiedades de MovieClip, mover objetos por la pantalla, ect.

En esta nueva versión, tendremos otros eventos, como el del objeto Timer, pero seguiremos usando el evento ENTER_FRAME.

removeEventListener

Si nos fijamos la sintaxis es exactamente igual: stage + funcion+ (paquete.evento + función ).En la práctica podemos por ejemplo utilizar un sólo botón para que haga play y stop sucesivamente, añadiéndole a la primera función removeEventListener, y a la segunda addEventListener:

EJEMPLO DE EVENTOS PARA UN OBJETO.

(HUEVO)

import flash.events.MouseEvent;

import fl.motion.MotionEvent;

import flash.net.URLRequest;

import flash.net.navigateToURL;

import flash.events.KeyboardEvent;

Page 3: Eventos

//variables

var huevito=new Huevo();

var miPagina:URLRequest=new URLRequest ("www.google.com.co");

//funciones

function arrastrar(evento:MouseEvent):void{

evento.target.startDrag();

}

function soltar(evento:MouseEvent):void{

evento.target.stopDrag();

}

function sobre(evento:MouseEvent):void{

evento.target.gotoAndStop(2);

}

function afuera(evento:MouseEvent):void{

evento.target.gotoAndStop(1);

}

function accionesBotones(evento:MouseEvent):void{

switch(evento.target.name){

case "arriba_btn":

huevito.y-=5;

break;

case "abajo_btn":

Page 4: Eventos

huevito.y+=5;

break;case "izquierda_btn":

huevito.x-=5;

break;

case "derecha_btn":

huevito.x+=5;

break;

case "alphaMas_btn":

huevito.alpha+=.05;

break;

case"alphaMenos_btn":

huevito.alpha-=.05;

break;

case"rotarMas_btn":

huevito.rotation+=15;

break;

case"rotarMenos_btn":

huevito.rotation-=15;

break;

case"tamañoMas_btn":

huevito.width+=5;

huevito.height+=5;

break;

case"tamañoMenos_btn":

huevito.width-=5;

Page 5: Eventos

huevito.height-=5;

break;

case"escalaMas_btn":

huevito.scaleX +=.2

huevito.scaleY +=.2

huevito.scaleZ +=.2

break;

case"escalaMenos_btn":

huevito.scaleX -=.2

huevito.scaleY -=.2

huevito.scaleZ -=.2

break;

case"habilitado_btn":

huevito.enabled=true;

huevito.buttonMode=true;

huevito.addEventListener(MouseEvent.MOUSE_DOWN,arrastrar);

huevito.addEventListener(MouseEvent.MOUSE_UP,soltar);

huevito.addEventListener(MouseEvent.MOUSE_OVER,sobre);

huevito.addEventListener(MouseEvent.MOUSE_OUT,afuera);

break;

case"inhabilitado_btn":

huevito.enabled=false;

huevito.buttonMode=false;

Page 6: Eventos

huevito.removeEventListener(MouseEvent.MOUSE_DOWN,arrastrar);

huevito.removeEventListener(MouseEvent.MOUSE_UP,soltar);

huevito.removeEventListener(MouseEvent.MOUSE_OVER,sobre);

huevito.removeEventListener(MouseEvent.MOUSE_OUT,afuera);

break;

case"visible_btn":

huevito.visible=true;

break;

case"invisible_btn":

huevito.visible=false;

break;

case"url_btn":

navigateToURL(miPagina);

break;

case"resetear_btn":

huevito.x=stage.stageWidth/2;

huevito.y=stage.stageHeight/2;

huevito.alpha=1;

huevito.scaleX=1;

huevito.scaleY=1;

Page 7: Eventos

huevito.scaleZ=1;

huevito.rotationX=1;

huevito.rotationY=1;

huevito.rotationZ=1;

huevito.enabled=true;

huevito.visible=true;

huevito.buttonMode=true;

huevito.gotoAndStop(1);

huevito.addEventListener(MouseEvent.MOUSE_DOWN,arrastrar);

huevito.addEventListener(MouseEvent.MOUSE_UP,soltar);

huevito.addEventListener(MouseEvent.MOUSE_OVER,sobre);

huevito.addEventListener(MouseEvent.MOUSE_OUT,afuera);

break;

case"reproducir_btn":

huevito.play();

break;

case"detener_btn":

huevito.stop();

break;

}

Page 8: Eventos

}

function teclaArriba(evento:KeyboardEvent):void{

if(evento.keyCode==32){

huevito.rotation=0

}

}

function teclaAbajo(evento:KeyboardEvent):void{

if(evento.keyCode==32){

huevito.rotation=180

}

}

function girar(evento:KeyboardEvent):void{

if (evento.keyCode==88) huevito.rotationX +=15;

if (evento.keyCode==89) huevito.rotationY +=15;

if (evento.keyCode==90) huevito.rotationZ +=15;

}

//eventos//

huevito.addEventListener(MouseEvent.MOUSE_DOWN,arrastrar);

huevito.addEventListener(MouseEvent.MOUSE_UP,soltar);

huevito.addEventListener(MouseEvent.MOUSE_OVER,sobre);

huevito.addEventListener(MouseEvent.MOUSE_OUT,afuera);

Page 9: Eventos

//eventos de botones//

arriba_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

abajo_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

izquierda_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

derecha_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

alphaMas_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

alphaMenos_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

rotarMas_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

rotarMenos_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

tamañoMas_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

tamañoMenos_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

//las escalas son en porcantajes//

escalaMas_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

escalaMenos_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

//habilitamos y deshabilitamos algunas funciones

habilitado_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

inhabilitado_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

visible_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

invisible_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

//direccion de una pagina web

url_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

resetear_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

Page 10: Eventos

reproducir_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

detener_btn.addEventListener(MouseEvent.CLICK,accionesBotones);

//eventos con teclado

stage.addEventListener(KeyboardEvent.KEY_UP,teclaArriba);

stage.addEventListener(KeyboardEvent.KEY_DOWN,teclaAbajo);

stage.addEventListener(KeyboardEvent.KEY_DOWN,girar);

//estados iniciales

huevito.stop();

huevito.x=stage.stageWidth/2;

huevito.y=stage.stageHeight/2;

huevito.buttonMode=true;

addChild(huevito);