lunes, 28 de septiembre de 2009

8. EVENTOS

Hola chicos que tal, ahora si vamos aver Eventos

por que son tan interesante los eventos, por que se podria decir que en ellos gira todo, al menos esa es mi percepción, si pues por que casi todo se rige por botones, ¿verdad? y los botones se manejan a travez de eventos.

Aver imaginemos que nosotros somos botones, que cada uno de Uds. son un Boton, estamos ahi parados nada mas con las orejas bien paradas listos a escuchar lo que algun usuario nos dira, y estamos programados para escuchar solo un grupo de cosas y para hacer una funcion específica ni bien escuches como se comunica el usuario con nosotros, ahora el usuario se puede comunicar con nosotros a traves, del mouse y del teclado báscicamente.

Si el usuario no hace un click, nosotros como boton lo escuchamos y hacemos la funcion de sonreir por asi decirlo

entonces nosotros somos el boton, nuestros oidos son un listener y segun nos programen escucharemos solo un grupo de eventos que pueden ser solo de Mouse, luego escuchamos exactamente que Evento fue (ejemplo: click , dobleClick, pasar el mouse por encima, el mouse fuera de nosotros, etc) una vez que pase eso sonreimos, y listo eso es todo.

boton.addEventListener(MouseEvent.MOUSE_DOWN, sonreir)

boton = Nosotros
addEventListener = nuestras orejas (Osea un escuchador de eventos)
MouseEvent = La clase de eventos que escucharemos (En este caso Eventos del Mouse)
MOUSE_DOWN = El tipo de evento (Cuando ahagn un click con el Mouse)
sonreir = Este es el nombre de la function que realizaremos cuando el boton escuche lo que tiene que escuchar. (El nombre de la funcion puede ser cualquiera, se recomienda que el nombre este relacionado con la accion que realizara el objeto en nuestra pelicula, ejemplo si se va a mover se puede llamar Mover, si empieza a arrastrarse se puede llamar initDrag, y asi sustantivamente como dice el chavo , jejeje)


Vamos a ver un ejemplo practico de como usar un evento para realizar por ejemplo una animación super sencilla.

Uno de los eventos mas usados es el ENTER_FRAME No es un evento de Mouse, mas bien es un evento de linea de tiempo, es algo asi como cuando entre a un Frame ;)

veamos.

Igual que el ejemplo anterior tenemos una Escena de 400 x 300 px

y tenemos un MovieClip rectangular de 100 x 40 px centrado en el escenario el cual esta con nombre de instancia miObjeto

entonces tenemos

//le agregamos un escuchador de eventos a nuestro clip de pelicula de tipo Enter_Frame
//y que ejecute la function mover
miObjeto.addEventListener(Event.ENTER_FRAME, mover)

//ahora hacemos nuestra funcción
function mover (event:Event) {
//le decimos que incremente su valor en su eje X de nuestro MovieCLip
miObjeto.x += 3

// ahora la condicional
if (miObjeto.x > 450) {
miObjeto.x = -150
}
}

Listo, asi tendremos nuestra animacion y no necesitaremos como el ejemplo anterior de tener otro frame para que salga y entre del primer Frame, ya que este evento lo que hace es que siempre entre en este Frame y se ejecute infinitamente la funcion mover.

Acontinuación Veremos los Grupos de Eventos que podemos utilizar conforme vayamos avanzando:

Entonces ahora tenemos disponible una nueva clase

flash
.events.MouseEvent


el cual brinda todos los eventos para el mouse los cuales son:
CLICK
DOUBLE_CLICK
MOUSE_DOWN
MOUSE_MOVE
MOUSE_OUT
MOUSE_OVER
MOUSE_UP
MOUSE_WHEEL
ROLL_OUT
ROLL_OVER


Para el caso del teclado ahora a traves de la clase

flash
.events.KeyboardEvent

se tienen disponibles dos tipos de eventos
KEY_DOWN
KEY_UP.

esos son los principales, poco a poco iremos viendo los demas, la idea es que entiendan bien como funciona y no llenarlos de listas de eventos cosas que si aprenden bien la base que es esta, luego los eventos que se necesiten en el camino, se pueden conseguir.



Lobito

1 comentario:

  1. Buenísimo Julio, que sigue? hasta ahora he entendido todo...
    ...muy didáctico, te felicito :)

    Que vengan más eventos!

    ResponderEliminar