Listeners 1

Otra de las novedades en Flash MX son los Listeners aplicados a algunos objetos que esperan algun evento. Los listeners son como acciones que se adhieren aun objeto y que se meten dentro de las respuestas a un evento determinado...en español: le decimos a flash que ante un evento predeterminado (key down, mouse up, etc) ocurra algo.

Los Listeners son de aplicación global y esa es una ventaja. Por ejemplo veamos el código de mover un movie clip. Este ejemplo es muy imperfecto pero ilustra la idea: Tenemos un clip al que queremos mover con las teclas de dirección del teclado:
Tomando en cuenta que el movie clip se llama "clip" hacemos lo siguiente:

//Creamos una funcion para los movimientos que queremos
function mover(elclip) {
this.elclip = elclip;
pasos=5
//efecto de rotacion del clip
elclip._rotation+=pasos
//usando el nuevo Swich (que es una forma de condicional)
//verificamos si se cumplen (TRUE) los siguientes
//casos:
switch (true) {
//cada caso verifica el apretado de una tecla
//direccional especifica
case (Key.isDown(39)) :
elclip._x += pasos;
break;
case (Key.isDown(38)) :
elclip._y -= pasos;
break;
case (Key.isDown(40)) :
elclip._y += pasos;
break
case (Key.isDown(37)) :
elclip._x -= pasos;
break
}
}
//Ahora vamos a crear un clip "motor" virtual
//que nos permita ejecutar estas acciones al
//apretar una tecla (sin importar cual sea)
_root.createEmptyMovieClip("motor", 100);
motor.onKeyDown = function() {
_root.mover(_root.clip);
}
//para que funcione el llamado a la funcion debemos
//meter el clip al Listener del objeto KEY.
Key.addListener(motor);

Observarás que el movimiento es entrecortado, si usamos un ENTERFRAME en vez de un addListener el moviemiento se hace mas exacto. Aparte que el uso de SWITCH nos limita el movimiento a EXACTAMENTE las direcciones dadas (por el BREAK que usamos)... pero el ejemplo ilustra la idea. Aqui tienes el fla.

Aqui tienes otros ejemplos del uso de listener (OS (solo script)) para que veas ejemplos de su uso:

Usando el mouse

Usando un movie clip

Manuel Jesús Vejarano::: Derechos Reservados