2. ObjetivosObjetivos
Uso de los listeners para detectar elUso de los listeners para detectar el
evento de un ratónevento de un ratón
Escribir una función para responder alEscribir una función para responder al
evento de un ratónevento de un ratón
Navegar dentro de una línea de tiempoNavegar dentro de una línea de tiempo
Abrir un archivo URLAbrir un archivo URL
Combinar cadenas de texto con valoresCombinar cadenas de texto con valores
de variablesde variables
3. ObjetivosObjetivos
Llamar a una función para cambiar elLlamar a una función para cambiar el
idioma de la películaidioma de la película
Usar el evento de un botón para cambiarUsar el evento de un botón para cambiar
el valor de una variableel valor de una variable
4. EventosEventos
Los eventos son sucesos que acontecenLos eventos son sucesos que acontecen
alrededor de la película SWF.alrededor de la película SWF.
El programador debe de “atrapar” estosEl programador debe de “atrapar” estos
sucesos o eventos, de lo contrario sesucesos o eventos, de lo contrario se
pierden.pierden.
Los eventos no son programables. Por loLos eventos no son programables. Por lo
general no se sabe en que momento segeneral no se sabe en que momento se
realizarán.realizarán.
Para atrapar un evento utilizaremos unPara atrapar un evento utilizaremos un
““listenerlistener””
5. EventosEventos
Por lo general, los eventos los dividiremosPor lo general, los eventos los dividiremos
en forma lógica en:en forma lógica en:
Eventos de sistemaEventos de sistema : por ejemplo,: por ejemplo,
cuando se termina de cargar un archivo,cuando se termina de cargar un archivo,
se termina de cargar un movieClip, entrase termina de cargar un movieClip, entra
unun frameframe
Eventos del usuarioEventos del usuario : Hace clic en un: Hace clic en un
botón o sobre la pantalla, arrastra unbotón o sobre la pantalla, arrastra un
elemento, selecciona una caja de texto,elemento, selecciona una caja de texto,
etc.etc.
6. EventosEventos
Primero deberíamos “escuchar” cuando elPrimero deberíamos “escuchar” cuando el
evento ocurre y después lanzar un grupoevento ocurre y después lanzar un grupo
de sentencias. Para ello necesitamos unde sentencias. Para ello necesitamos un
““listenerlistener””
Las partes de unLas partes de un listenerlistener son:son:
objeto.addEventListener(EVENTO, función);objeto.addEventListener(EVENTO, función);
7. EventosEventos
El objeto es quien recibirá el evento. EnEl objeto es quien recibirá el evento. En
algunas ocasiones el escenario y laalgunas ocasiones el escenario y la
película principal pueden servir.película principal pueden servir.
Dentro de la sentencia addEventListenerDentro de la sentencia addEventListener
se escriben dos parámetros:se escriben dos parámetros:
– El evento que queremos detectar: Es unaEl evento que queremos detectar: Es una
cadena, pero por lo general se utiliza unacadena, pero por lo general se utiliza una
constante de una clase.constante de una clase.
– El nombre de la función que se ejecutaráEl nombre de la función que se ejecutará
cuando elcuando el listenerlistener detecte el eventodetecte el evento
8. FuncionesFunciones
Las funciones son bloques de código queLas funciones son bloques de código que
realizan tareas específicas y puedenrealizan tareas específicas y pueden
reutilizarse en el programa.reutilizarse en el programa.
Una función se le llamará “método” si seUna función se le llamará “método” si se
define dentro de una clase.define dentro de una clase.
Una función, en modo de sentencia,Una función, en modo de sentencia,
empieza por la palabra reservadaempieza por la palabra reservada
functionfunction..
Los parámetros se escriben dentro de losLos parámetros se escriben dentro de los
paréntesis y se separan por medio deparéntesis y se separan por medio de
comascomas
9. FuncionesFunciones
El cuerpo de la función son las sentenciasEl cuerpo de la función son las sentencias
que se ejecutarán al ser llamada oque se ejecutarán al ser llamada o
“invocada” la función y se escriben dentro“invocada” la función y se escriben dentro
de llavesde llaves
Los parámetros son variables que soloLos parámetros son variables que solo
existen mientras se ejecuta la función.existen mientras se ejecuta la función.
Pueden considerarse “variables locales”.Pueden considerarse “variables locales”.
En AS 3.0 necesita definir el tipo de losEn AS 3.0 necesita definir el tipo de los
parámetros.parámetros.
10. FuncionesFunciones
Opcionalmente una función puede regresar unOpcionalmente una función puede regresar un
único valor por medio de la sentenciaúnico valor por medio de la sentencia returnreturn..
Algunas funciones no regresan ningún valor.Algunas funciones no regresan ningún valor.
En ambos casos, hay que indicarle al compilador elEn ambos casos, hay que indicarle al compilador el
“tipo” de dato que regresará la función“tipo” de dato que regresará la función
En caso de que no regrese valores, se deberáEn caso de que no regrese valores, se deberá
indicar con un “indicar con un “voidvoid””
Aunque el uso deAunque el uso de voidvoid es opcional, se consideraes opcional, se considera
una “buena práctica” de programaciónuna “buena práctica” de programación
11. FuncionesFunciones
Ejemplo de una función:Ejemplo de una función:
function muestraValor(cadena:String):void{function muestraValor(cadena:String):void{
trace(cadena);trace(cadena);
}}
Para llamar a una función (generalmentePara llamar a una función (generalmente
se le llama “invocar una función”) sese le llama “invocar una función”) se
escribe el nombre de la función y losescribe el nombre de la función y los
paréntesis con los parámetros o vacíosparéntesis con los parámetros o vacíos
12. Funciones de listenerFunciones de listener
Se les llama funciones de listener o call backSe les llama funciones de listener o call back
a las funciones que son nombradas dentroa las funciones que son nombradas dentro
de un listener:de un listener:
Dentro de la sentencia addEventListener sóloDentro de la sentencia addEventListener sólo
se escribe el nombre de la función sinse escribe el nombre de la función sin
paréntesis.paréntesis.
Las funciones de listener siempre reciben unLas funciones de listener siempre reciben un
parámetro, conocido comoparámetro, conocido como eventObjecteventObject elel
cual contienen la información relevante sobrecual contienen la información relevante sobre
el evento y nunca regresan información, porel evento y nunca regresan información, por
lo que son de tipolo que son de tipo voidvoid..
13. ListenerListener
Para acompletar el llamado de un eventoPara acompletar el llamado de un evento
con uncon un listenerlistener tendríamos:tendríamos:
home_btn.addEventListener(MouseEvent.CLIChome_btn.addEventListener(MouseEvent.CLIC
K, goHome);K, goHome);
////
function goHome(e:MouseEvent):void{function goHome(e:MouseEvent):void{
gotoAndPlay(“home”);gotoAndPlay(“home”);
}}
14. ListenerListener
Observe que las constantes de las clasesObserve que las constantes de las clases
de eventos se escriben con mayúsculas,de eventos se escriben con mayúsculas,
por ejemplo: CLICK, ROLL_OVER,por ejemplo: CLICK, ROLL_OVER,
ROLL_OUT, etc.ROLL_OUT, etc.
15. Navegar en la línea de tiempoNavegar en la línea de tiempo
Por medio de botones podemos hacer que laPor medio de botones podemos hacer que la
película salte en la línea de tiempo a solicitudpelícula salte en la línea de tiempo a solicitud
del usuario.del usuario.
Por ejemplo:Por ejemplo:
home_btn.addEventListener(MouseEvent.CLICK,home_btn.addEventListener(MouseEvent.CLICK,
goHome);goHome);
////
function goHome(e:MouseEvent):void{function goHome(e:MouseEvent):void{
gotoAndPlay(“home”);gotoAndPlay(“home”);
}}
16. Llamar a un página de InternetLlamar a un página de Internet
La función global navigateToURL nosLa función global navigateToURL nos
permitirá llamar a una página de internet opermitirá llamar a una página de internet o
a un recurso externoa un recurso externo
El parámetro de la función navigateToURLEl parámetro de la función navigateToURL
NO debe de ser una cadena, como suNO debe de ser una cadena, como su
antecesor getURL, sino un objeto de tipoantecesor getURL, sino un objeto de tipo
URLRequest.URLRequest.
Por ejemplo:Por ejemplo:
navigateToURL(newnavigateToURL(new URLRequest(URLRequest(httphttp://www.google.com://www.google.com)) ;)) ;
17. URLRequestURLRequest
La clase URLRequest captura toda laLa clase URLRequest captura toda la
información en una sola petición HTTP.información en una sola petición HTTP.
Los objetos URLRequest se transmiten aLos objetos URLRequest se transmiten a
los métodos load() de las clases Loader,los métodos load() de las clases Loader,
URLStream y URLLoader y a otrasURLStream y URLLoader y a otras
operaciones de carga para iniciaroperaciones de carga para iniciar
descargas de URL.descargas de URL.
También se transmiten a los métodosTambién se transmiten a los métodos
upload() y download() de la claseupload() y download() de la clase
FileReference.FileReference.
18. Concatenación de cadenasConcatenación de cadenas
Para concatenar (unir) dos cadenas oPara concatenar (unir) dos cadenas o
más, se utiliza el comando de suma “+”.más, se utiliza el comando de suma “+”.
Si una variable o valor es de tipoSi una variable o valor es de tipo
numérico, AS lo convertirá y concatenaránumérico, AS lo convertirá y concatenará
como cadenacomo cadena
Ejemplo:Ejemplo:
info_txt.text = “La animación se ha ejecutado “+contador+” veces”;info_txt.text = “La animación se ha ejecutado “+contador+” veces”;
19. Preguntas de revisiónPreguntas de revisión
Describa como es utilizado el métodoDescriba como es utilizado el método
addEventListener() es utilizado en AS 3.0addEventListener() es utilizado en AS 3.0
¿Cuál es una manera de escribir el método¿Cuál es una manera de escribir el método
addEventListener() para un clic del ratón?addEventListener() para un clic del ratón?
¿Cuál es la manera de abrir una ventana del¿Cuál es la manera de abrir una ventana del
navegador con AS 3.0?navegador con AS 3.0?
¿Con cuál carácter se concatenan cadenas?¿Con cuál carácter se concatenan cadenas?
¿Con cuál operador para comparar si dos¿Con cuál operador para comparar si dos
valores son iguales y cuál es el operadorvalores son iguales y cuál es el operador
para “introduccir” un valor a una variable?para “introduccir” un valor a una variable?