Henry lopez 11-02¿Qué es el ActionScript?El ActionScript es el lenguaje de programaciónque ha utilizado Flash desde sus co...
Todo lo referente a este curso hace referencia a laversión 3 de ActionScript. Si buscas informaciónsobre ActionScript 2.0,...
•ActionScript 3 es un lenguaje de programaciónorientado a objetos. Tiene similitudes, por tanto,con lenguajes tales como l...
"código ActionScript que realiza una funcióndeterminada") ya implementadas que realizan loque buscamos, bastará con coloca...
El Panel Acciones se divide en 2 partes, a laizquierda tenemos una ayuda facilitada por Flashque nos da acceso de un modo ...
directamente, seleccionamos los distintoselementos desde listas. Puede resultar útil alprincipio, cuando aún no estamos fa...
• Revisar sintaxis. Comprobará errores en lasintaxis, normalmente que hayamos olvidadocerrar paréntesis o corchetes. Si en...
• Cuando estamos programando, es frecuenteque queramos comentar un fragmento de códigopara que no se ejecute o que queramo...
El panel Fragmentos de códigoEn Flash CS5 se ha creado un nuevo panel paraayudarnos a generar el código ActionScript: elpa...
Pero además accediendo a sus opcionesencontramos opciones muy interesantes:Lo más destacado es que podemos crear nuestrosp...
por ser la parte más elemental de una acción deActionScript (y de cualquier otro lenguaje deprogramación).Un operador es u...
Flash nos permite usar multitud de operadores,vamos a comentar los más comunes. El lectorpuede acceder a los demás (y a es...
1 al valor          a valor = valor + 1           Decremento.         valor-- equivaldría--           Resta 1 al valor    ...
variable                                  vale 8;                                  variable                               ...
vale 3; Operadores de ComparaciónEmpleados en expresiones condicionales,devuelven un valor lógico, verdadero (TRUE o 1)si ...
hola != hola da!=           Distinto                                 falso.     Operadores lógicos.Evalúan valores lógicos...
verdadero                  verdadero                                      (6 > 5) ||                                      ...
ese campo le llamamos edad_usuario. Lehacemos pulsar un botón Continuar y en esemomento comprobamos su edad, si tiene meno...
arriba. También faltaría, lógicamente, crear lasfunciones "dar_mensaje_1" y "dar_mensaje_2". Orden de precedenciaCuando en...
En la siguiente tabla, vemos el orden deprecedencia, de mayor a menor, se ejecutanprimero los de mayor orden.Orden de prec...
operaciones (al igual que en matemáticas).También se usa, como ya vimos, para pasarparámetros a funciones o acciones." " :...
Los Objetos, como ya hemos visto en el temabásico, los objetos son instancias de unadeterminada clase. Esto es, son repres...
Objeto "Button" (Botón)Los objetos de tipo Botón es un tipo deMovieClip especialmente pensado para que elusuario interactú...
película principal de Flash, lo que nos permitecrear animaciones tan complejas eindependientes como queramos (podemos crea...
especiales, muy potentes y útiles, podemos pararun sonido, crear un bucle, darle efectos sonorosetc... Utilizando el canal...
Mouse es único y actúa sobre el ratón del PC delusuario que vea nuestra película. Se puede decirque es un objeto "externo"...
de letras, buscar una determinada letra en unapalabra, convertir la palabra a letras mayúsculas yun largo etc... Objeto "L...
necesitamos saber cómo están hechas... Loimportante es que están listas para usar, lo quefacilita el uso de este lenguaje ...
Acciones - Control de películaEstas acciones se emplean, como su nombreindica, para controlar el flujo de nuestra película...
determina qué fotograma de nuestra película seestá reproduciendo en cada momento. Si, porejemplo, lo movemos del fotograma...
escena llamada "Escena2" del MovieClip con elnombre de instancia miClip.play: Da comienzo a la reproducción de lapelícula ...
Estas acciones tienen diversas funciones,describimos las más importantes:fscommand: Esta acción, es capaz de ejecutarciert...
mantener las proporciones? Este comando   nos permite controlarlo.   showmenu (true o false): Si has visto el menú   que a...
Sintaxis:fscommand(comando, [argumentos])    comando: El comando a ejecutar (fullscreen,    allowscale, etc...)    argumen...
utilizar una dirección como cadena de texto,    podemos hacerlo escribiendo new    URLRequest("http://www.direccion.coms")...
direccion: Dirección absoluta o relativa    donde está situada la película SWF o la    imagen a cargar. Es un objeto URLRe...
Acciones - CondicionesEstas acciones sirven para controlar la lógica de lapelícula. Se puede decir que nos permiten"hablar...
Sintaxis:if (condición) {sentencia_si_se_cumple; } else{sentencias_si_no; }    if: Indica que acción que viene a continuac...
else: Especifica la alternativa si condición se    evalúa a falsa. Es optativo. Si no existe, y no    se cumple la condici...
Ejemplos de ActionScript 3.0Ejemplos de uso del código ActionScriptVamos a mostrar los usos más característicos decódigo A...
function(){} , addListener , etc. La forma de    tratarlos ahora es agregando un escuchador    al objeto, con el método ad...
Los Botones (objeto Button para Flash CS5) tienenmucha utilidad siempre que queramos quenuestra película interactúe con el...
23miBoton.addEventListener(MouseEvent.CLICK,4funcionAlHacerClick);5 function6 funcionAlHacerClick(event:MouseEvent):void7 ...
encontrarlo. En este momento queremosimportar la clase MouseEvent, le especificamos laclase de flash que debe importar:imp...
7{8       navigateToURL(miURL, "_blank");    }Esta acción provoca que al pulsar un botón seabra una nueva página web en nu...
3miFuncion);4function miFuncion(event:MouseEvent):void5{6    r1.width=350; }Esta acción provoca que al pulsar un botón sem...
Pues 350, que es la cantidad que aparece en laparte derecha de la expresión. ¿Y a qué objeto? Alque va delante del ".", o ...
A lo largo del tema utilizaremos este ejemplopara ilustrar la teoría de forma guiada.18.2. Los BotonesUno de los elementos...
En el ejemplo nos hemos ayudado de los botonespara crear la navegación entre las diferentessecciones.Así que el primer pas...
Luego, creamos otra capa para poder insertar lasacciones que necesitarán nuestros botones,abrimos el Panel Acciones y añad...
MouseEvent.MOUSE_DOWN: ejecuta la    acción al presionarse el botón.    MouseEvent.MOUSE_UP: ejecuta la acción al    solta...
Por tanto, si no hemos creado ya esa función, latenemos que definir, con el mismo nombre ypasándole como parámetro el even...
Henry lopez 11 02
Próxima SlideShare
Cargando en…5
×

Henry lopez 11 02

286 visualizaciones

Publicado el

what is action scrip??

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
286
En SlideShare
0
De insertados
0
Número de insertados
30
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Henry lopez 11 02

  1. 1. Henry lopez 11-02¿Qué es el ActionScript?El ActionScript es el lenguaje de programaciónque ha utilizado Flash desde sus comienzos, y quepor supuesto, emplea Flash CS5. A grandesrasgos, podemos decir que el ActionScript nospermitirá realizar con Flash CS5 todo lo que nospropongamos, ya que nos da el control absolutode todo lo que rodea a una película Flash.Absolutamente de todo.Sin embargo, en estos temas sólo vamos a veruna pequeña introducción a ActionScript 3 queservirá para sentar las bases que permitiránempezar a trabajar con ActionScript. Enseñar aprogramar con ActionScript requeriría otro cursocompleto. Profundizar en el conocimiento de estelenguaje queda por cuenta del lector.Recomendamos seguir la estupenda Ayudaincluida en Flash CS5.
  2. 2. Todo lo referente a este curso hace referencia a laversión 3 de ActionScript. Si buscas informaciónsobre ActionScript 2.0, te recomendamos el cursode Flash CS3, en el que resolvemos los mismosejemplos, pero con AS 2.0.Características generales•Como ya hemos comentado, el ActionScript es ellenguaje de programación propio de Flash, tal ycomo el Lingo lo es de Macromedia Director, porejemplo. El ActionScript está basado en laespecificación ECMA-262, al igual que otroslenguajes como Javascript.•ActionScript es, como su nombre indica, unlenguaje de script, esto quiere decir que no haráfalta crear un programa completo para conseguirresultados, normalmente la aplicación defragmentos de código ActionScript a los objetosexistentes en nuestras películas nos permitenalcanzar nuestros objetivos.
  3. 3. •ActionScript 3 es un lenguaje de programaciónorientado a objetos. Tiene similitudes, por tanto,con lenguajes tales como los usados en elMicrosoft Visual Basic, en el Borland Delphi etc... yaunque, evidentemente, no tiene la potencia deestos lenguajes, cada versión se acerca más. Así,la versión 3.0 utilizada en Flash CS5 es muchomás potente y mucho más "orientada a objetos"que su anterior versión 2.0.•La sintaxis ActionScript presenta muchísimosparecidos con el Javascript o PHP; si estamosfamiliarizados con estos lenguajes, la sintaxis y elestilo de ActionScript nos resultarán muyfamiliares. Las diferencias entre JavaScript yActionScript las podemos encontrar en la ayudaque acompaña al Flash CS5.•En la mayor parte de las ocasiones, seránecesario "programar". Flash CS5 pone a nuestradisposición una biblioteca de funciones, clases ymétodos (de momento entenderemos esto como
  4. 4. "código ActionScript que realiza una funcióndeterminada") ya implementadas que realizan loque buscamos, bastará con colocarlas en el lugaradecuado.El panel AccionesEn Flash CS5, el Panel Acciones sirve paraprogramar scripts con ActionScript, por tanto loaquí introduzcamos le afectará de menor o mayormedida. Debemos tener claro desde un principioque el Panel Acciones puede hacer referencia aFotogramas u objetos, de modo que el códigoActionScript introducido afectará tan sólo aaquello a lo que referencia el Panel. Por ejemplo,en la imagen inferior, se puede distinguir que elPanel Acciones hace referencia al Fotograma 1 dela Capa 1 (en el nombre de la pestaña de la zonade la derecha y en la zona izquierda en elapartado Selección actual).
  5. 5. El Panel Acciones se divide en 2 partes, a laizquierda tenemos una ayuda facilitada por Flashque nos da acceso de un modo rápido y muycómodo a todas las acciones, objetos,propiedades etc... que Flash tiene predefinidos.Estos elementos están divididos en carpetas, quecontienen a su vez más carpetas clasificando deun modo eficaz todo lo que Flash pone a nuestradisposición. Para insertarlos en nuestro scriptbastará con un doble clic sobre el elementoelegido.En la parte derecha tenemos el espacio paracolocar nuestro script, el código de ActionScript.El código lo podemos insertar en cualquierfotograma clave, aunque lo más "limpio" es crearuna capa para el código.El Panel Acciones de Flash CS5, no tieneúnicamente un modo de edición. Podemosutilizar el , en el que en vez de escribir
  6. 6. directamente, seleccionamos los distintoselementos desde listas. Puede resultar útil alprincipio, cuando aún no estamos familiarizados,pero nos limita mucho al escribir.Cuando ya tenemos cierta soltura nosencontraremos más cómodos con el Asistente descript desactivado, lo que nos permite escribirdirectamente el código. Este último modo nosdará más libertad y agilidad si sabemos quéhacer, pero también es más fácil que cometamoserrores.En la parte superior encontramos herramientasque nos ayudarán. Veamos las más útiles:• Buscar: Busca un texto en el código. Útil, porejemplo, si queremos buscar en todos los sitiosque empleamos un objeto.
  7. 7. • Revisar sintaxis. Comprobará errores en lasintaxis, normalmente que hayamos olvidadocerrar paréntesis o corchetes. Si encuentraalguno, nos mostrará un mensaje como elsiguiente:En el panel Errores de compilador se mostraránlos errores indicando la capa, fotograma y línea.Podemos ir al lugar del error haciendo doble clic.• Formato automático. Al escribir en cualquierlenguaje, es muy importante hacerloordenadamente y con el formato adecuado. Estebotón lo hace automáticamente, siempre que nohaya errores de sintaxis.• Cuando tenemos mucho código, nos resultarámás cómodo si contraemos ciertas partes. Conestos botones, podemos, de izquierda a derecha,contraer el espacio entre llaves, contraer laselección o expandir todo.
  8. 8. • Cuando estamos programando, es frecuenteque queramos comentar un fragmento de códigopara que no se ejecute o que queramos añadircomentarios descriptivos. Con estos botones,podemos comentar el texto seleccionado, odescomentarlo.Aunque la sintaxis sea correcta, puede que alprobar nuestra película se sigan produciendoerrores (errores de compilación). Por ejemploporque accedemos a una propiedad de un objetoque no existe, o nos hemos equivocado al escribirel nombre de una variable. Estos errores tambiénnos aparecerán en el panel Errores de compilador.En este caso, fíjate en el número de línea delerror, ya que al hacer doble clic, a veces no va allugar correcto si el código tiene comentarios.
  9. 9. El panel Fragmentos de códigoEn Flash CS5 se ha creado un nuevo panel paraayudarnos a generar el código ActionScript: elpanel Fragmentos de código.Este panel nos resultará muy útil, ya que incluyelas funciones básicas. Por ejemplo, los eventosde botones siempre se escriben de la mismaforma. Desde la sección Controladores deeventos del panel, podemos introducir estecódigo, y sólo modificar la parte necesaria.
  10. 10. Pero además accediendo a sus opcionesencontramos opciones muy interesantes:Lo más destacado es que podemos crear nuestrospropios fragmentos de código, con intrusccionesque usemos habitualmente.Además podemos exportarlas e importarlas aotras instalaciones del programa. Los operadores y expresionesEntrando un poco más a fondo en la sintaxis y elmanejo del ActionScript, vamos a comenzarhablando de los operadores y de las expresiones,
  11. 11. por ser la parte más elemental de una acción deActionScript (y de cualquier otro lenguaje deprogramación).Un operador es un tipo de carácter que realizauna acción especial dentro de una expresión deActionScript. Una expresión no es más que unconjunto de operadores, variables y constantesrelacionados entre sí de un cierto modo.Por ejemplo:x = 3 ; --> Es una expresión cuyo resultado seráasignarle a la variable x el valor 3 (que es unaconstante). A partir de este punto, la variable xvale 3.y = 5 + x ; --> Es una expresión cuyo resultadoserá asignarle a la variable y la suma de laconstante 5 y la variable x que sabemos quevale 3 (porque le hemos asignado este valorantes). Por tanto, el resultado de esta expresiónes asignarle 8 a y. También se puede considerarcomo asignar a y el valor de la expresión 5 + x
  12. 12. Flash nos permite usar multitud de operadores,vamos a comentar los más comunes. El lectorpuede acceder a los demás (y a estos) desde elPanel Acciones en la carpeta Elementos delenguaje →Operadores. Vamos a clasificar losoperadores tal y cómo lo hace Flash. Operadores AritméticosSon los operadores empleados en operacionesmatemáticas.Operador Descripción Ejemplo+ Suma 5 + 5 = 10- Resta 5-5=0* Multiplicación 5 * 5 = 25/ División 5/5=1% Resto o Módulo 10%8 = 2++ Incremento. Suma valor++ equivaldría
  13. 13. 1 al valor a valor = valor + 1 Decremento. valor-- equivaldría-- Resta 1 al valor a valor = valor - 1 Operadores de AsignaciónAsigna el valor de una variable.Operador Descripción Ejemplo variable vale 3; Asigna a la variable de la variable == izquierda el valor de la 5; derecha variable vale 5; variable Suma con asignación. Le vale 3;+= añade a la variable el valor variable de la derecha. += 5;
  14. 14. variable vale 8; variable vale 3; Resta con asignación. Le variable --= resta el valor de la derecha. = 5; variable vale -2; variable vale 3; Multiplicación con variable*= asignación. *= 5; variable vale 15; variable vale 15;/= División con asignación variable /= 5; variable
  15. 15. vale 3; Operadores de ComparaciónEmpleados en expresiones condicionales,devuelven un valor lógico, verdadero (TRUE o 1)si la comparación es cierta, o falso (FALSE o 0) sino lo es.Operador Descripción Ejemplo> Mayor que 6 > 5 da verdadero.< Menor que 6 < 5 da falso. Mayor o igual>= 6 >= 5 da verdadero. que Menor o igual<= 6 >= 6 da verdadero. que hola == hola da== Igual verdadero.
  16. 16. hola != hola da!= Distinto falso. Operadores lógicos.Evalúan valores lógicos. Normalmente se empleanpara comparar dos expresiones con operadoresrelacionales, y devuelve verdadero o falso.Operador Descripción Ejemplo (6 > 5) && (1==1) And (Y) Devuelve devuelve verdadero si los dos&& verdadero valores son (6 > 5) && verdaderos (1==0) devuelve falso Or (O) Devuelve (6 > 5) |||| verdadero si alguno (1==1) de los valores es devuelve
  17. 17. verdadero verdadero (6 > 5) || (1==0) devuelve verdadero (6 > 6) || (1==0) devuelve falso Not (Negado) !(9 > 2) Devuelve verdadero si devuelve falso! el valor era falso, y al !(9 ==9) revés. devuelve falsoEsta posibilidad de comprobar si una expresión esigual a otra, nos será muy útil para comprobarmuchas cosas durante nuestra película y enfunción de ellas, hacer unas cosas u otras.Pondremos un ejemplo; imaginemos que lepedimos a un usuario que introduzca su edad enun campo de texto de nuestra película flash. A
  18. 18. ese campo le llamamos edad_usuario. Lehacemos pulsar un botón Continuar y en esemomento comprobamos su edad, si tiene menorde edad, le decimos una cosa, de lo contrario, ledecimos otra. Bastaría con hacer algo así:?1if (edad_usuario<18) {2 dar_mensaje_1();3} else {4 dar_mensaje_2();5}Aquí lo que estamos diciendo es lo siguiente: "Siedad_usuario es menor a 18, entonces damos elmensaje 1, si no (igual o superior a 18) le damosel mensaje 2.El significado de if y else lo veremos másadelante, de modo que no nos preocupemos porno entender perfectamente el código escrito
  19. 19. arriba. También faltaría, lógicamente, crear lasfunciones "dar_mensaje_1" y "dar_mensaje_2". Orden de precedenciaCuando en una expresión se combinan variosoperadores, el orden en que se ejecutan puedevariar el resultado de la expresión, por eso es muyimportante saber en qué orden se ejecutarán. Elorden no es aleatorio sino que sigue unas reglasde precedencia al igual que en una operaciónmatemática.Primero se evalúan los operadores de dentro delos paréntesis.Cuando dos operadores están al mismo nivel,unos operadores tienen preferencia con respectoa otros, y estos se calculan primero. En el caso deque tengan la misma preferencia, se calcularán deizquierda a derecha.
  20. 20. En la siguiente tabla, vemos el orden deprecedencia, de mayor a menor, se ejecutanprimero los de mayor orden.Orden de precedenciaNegación (!) / Incremento (++) / Decremento (--)Multiplicación (*) / División (/) / Resto (%)Suma (+) / Resta (-)Relacionales mayor - menor (>, <, >=, <=)Igualdad (==) / Desigualdad (!=)And lógico (&&)Or lógico (||)Asignación (=, +=, -=...) Otros Elementos del lenguaje( ) : Paréntesis. Sirven, como es de esperar, paraagrupar términos y dar preferencias en las
  21. 21. operaciones (al igual que en matemáticas).También se usa, como ya vimos, para pasarparámetros a funciones o acciones." " : Comillas. En ActionScript, todo lo que vaentre comillas, pasa a considerarse una cadena decaracteres. Así por ejemplo, mientras que xrepresenta una variable con un valordeterminado, si escribimos "x", estamosescribiendo en realidad el carácter o la letra "x".Por tanto, podremos añadirlo a una palabra,compararlo con otras letras, escribirlo porpantalla etc.. pero ya no será una variable.//: Comentario de línea. Indica que el texto apartir de ahí, y en esa línea, es un comentario, yno se ejecutará como código./* ....... */: Comentario de bloque. Cualquier textode una o más líneas encerrado entre estoscaracteres es un comentario, y no se ejecutarácomo código.Los objetos
  22. 22. Los Objetos, como ya hemos visto en el temabásico, los objetos son instancias de unadeterminada clase. Esto es, son representantes deuna clase ya definida. Cada objeto tiene laspropiedades y métodos propios de la clase, ynormalmente son independientes unos de otros.Así, son objetos, por ejemplo, un botón, un clipde película, un gráfico o un sonido... es decir, queprácticamente todo es un objeto en Flash CS5.Vamos a ver los objetos más usados en Flash yuna breve descripción de cada uno de ellos.Como ya se ha explicado en el tema básico, cadaobjeto tiene una serie de Propiedades (queveremos después), unos Métodos y eventos, quedan funcionalidad a los objetos. Cuando uncomponente de Flash pasa a ser un objeto,automáticamente pasa a tener todas laspropiedades definidas por Flash para ese objeto ypasa a reaccionar ante los Métodos y eventos quetiene definidos. Podemos encontrar una lista contodas las propiedades, métodos y Acciones.
  23. 23. Objeto "Button" (Botón)Los objetos de tipo Botón es un tipo deMovieClip especialmente pensado para que elusuario interactúe con él, permitiéndonosdiferenciar entre sus estados, y crear unaapariencia para cada uno.Cuando nos interese que una imagen quehayamos diseñado se comporte como un botón,bastará convertirla a botón (del modo visto en elcapítulo correspondiente) y ya podremos usar loseventos típicos de un botón. Objeto "MovieClip" (Clip de Película)Cuando necesitemos crear una película Flashdentro de otra película, pero no queramos tener 2ficheros separados ni molestarnos en cargar unapelícula u otra, deberemos crear un objetomovieclip. Entre sus propiedades especialesdestaca que los objetos "clip de película" tienen,internamente, una línea de tiempos que correindependiente de la línea de tiempos de la
  24. 24. película principal de Flash, lo que nos permitecrear animaciones tan complejas eindependientes como queramos (podemos creartantos clips de película dentro de otros comoqueramos, por ejemplo). Realmente, toda nuestrapelícula es un MovieClip. Objeto "DisplayObject" (Objeto devisualización)Esta clase engloba a todos los objetos quepodemos ver en nuestra película, como los Clipsde película y botones, y define las propiedades ymétodos comunes para todos ellos. Objeto "Sound" (Sonido) y SoundChanel(Canal de sonido)Los objetos sonidos no son visuales, y por tanto,no podremos ver como quedan en losfotogramas, al igual que haríamos con un botón oun clip de película. Deberemos controlarlos, portanto, desde el Panel Acciones y usandoActionScript. Tienen multitud de métodos
  25. 25. especiales, muy potentes y útiles, podemos pararun sonido, crear un bucle, darle efectos sonorosetc... Utilizando el canal de sonido, podremospararlo, ajustar el volumen, etc.Podríamos, por ejemplo, crear un objeto de tiposonido y después hacer que al pulsar un botónsuene. (Más adelante se verá algún ejemplo deuso de sonidos). Objeto "Mouse" (Ratón)El objeto mouse es uno de los objetos de Flashque ya está definido por Flash, pues hacereferencia al ratón de Windows (al que manejaráel usuario que vea nuestra película). Si lo usamos,podremos acceder a las propiedades del ratón deWindows, tipo de cursos, efectos asociados,detección de su posición etc...Vale la pena insistir en que su manejo no esanálogo al de otros objetos como el botón, puespodemos crear tantos botones como queramos yhacer con ellos lo que decidamos, pero el objeto
  26. 26. Mouse es único y actúa sobre el ratón del PC delusuario que vea nuestra película. Se puede decirque es un objeto "externo" que permite que otraspartes del Sistema Operativo interactúen connuestra película Flash. Por tanto, es muy potente. Objeto "Math" (Matemáticas)Es uno de los múltiples objetos "abstractos" deFlash, ni es visual, ni parece que corresponda anada existente en el sistema (como el objeto"Mouse"). Su función es muy importante, puesnos permite usar fórmulas matemáticas de modomuy sencillo. En el tema siguiente veremos algúnejemplo de su uso. Objeto "String" (Cadena)Es otro objeto peculiar, pues corresponde a untipo de datos. Los strings o cadenas sonsecuencias de caracteres. Si definimos unasecuencia de caracteres como objeto de tipoString, podremos usar los métodos que Flashimplementa sobre ellas: Seleccionar subcadenas
  27. 27. de letras, buscar una determinada letra en unapalabra, convertir la palabra a letras mayúsculas yun largo etc... Objeto "Loader" (Cargador) y Objeto"URLLoader" (Cargador de información)Los objetos Loader nos permitirán cargar archivospara mostrarlos (imágenes, archivos swf, etc...) ennuestra película, mientras que los objetosURLLoader nos permitirán cargar información dearchivos (archivos de texto, XML, páginas web...).Las acciones - métodos comunesFlash CS5 llama acciones a lo referente al códigoActionScript, lo que nos permite darcomportamientos a los objetos.Estas acciones son funciones predefinidas deActionScript, es decir: Flash CS5 las crea, ynosotros sólo tenemos que usarlas de la maneraque se nos indica. No tenemos que definir lasfunciones ni nada por el estilo, ni siquiera
  28. 28. necesitamos saber cómo están hechas... Loimportante es que están listas para usar, lo quefacilita el uso de este lenguaje de programación ysobre todo, haga muy rápido comenzar aprogramar.Por supuesto, cuando tengamos másconocimientos, veremos que no es difícilcompletar estas acciones ya creadas con lasnuestras propias.Explicaremos las Acciones más importantes, y amedida que avancemos en el curso, añadiremosalgunas más. Para una referencia más completa,recomendamos mirar la ayuda del programa.Las acciones son métodos de los objetos(funciones internas a estos), por lo que no todasestán disponibles para todos los objetos.Definiremos las acciones escribiendo su cabecera(nombre + parámetros con un nombre genérico)para después explicar qué es cada parámetro.
  29. 29. Acciones - Control de películaEstas acciones se emplean, como su nombreindica, para controlar el flujo de nuestra película,esto es, para indicar a Flash en todo momentoqué fotograma tiene que mostrar, cuándo tieneque parar, dónde seguir etc...Estas acciones son métodos de la claseMovieClip. Podemos aplicarlas a cualquierMovieClip de nuestra película, siguiendo elsiguiente formato: nombreMovieClip.accion();. Siescribimos la función directamente, es decir, si noindicamos el objeto, estamos haciendoreferencia a la película general.Veamos las más importantes para entenderlasmejor:gotoAndPlay: Esta acción será, probablemente laque más usemos durante la realización denuestras películas. La acción que realiza consisteen mover la cabeza lectora al fotograma que leindiquemos. La cabeza lectora es lo que
  30. 30. determina qué fotograma de nuestra película seestá reproduciendo en cada momento. Si, porejemplo, lo movemos del fotograma 1 al 25, loque veremos instantáneamente será el fotograma25 y la película continuará reproduciéndose apartir de ahí.Sintaxis:gotoAndPlay(escena, fotograma): o escena: Nombre de la escena a la que queremos enviar la cabeza lectora. Debe ir entre comillas dobles. o fotograma: Número o nombre del fotograma al que queremos enviar la cabeza lectora. Si es un nombre (una etiqueta), debe ir entre comillas dobles, si es un número, no.Ejemplo:miClip.gotoAndPlay("Escena2", 7); →Esta acciónlleva la cabeza lectora al fotograma 7 de la
  31. 31. escena llamada "Escena2" del MovieClip con elnombre de instancia miClip.play: Da comienzo a la reproducción de lapelícula o la continúa desde el punto detenido.Sintaxis:play(); No tiene Parámetros.Ejemplo:this.play(); →Inicia la reproducción del objetoactual.stop: Detiene la reproducción de la película. Sepuede usar en un fotograma, cuando queramosdetenernos en él (porque es un menú, porejemplo), en un botón, (para que detenga lapelícula), etc..Sintaxis:stop(); No tiene Parámetros. Acciones - Navegador / Red
  32. 32. Estas acciones tienen diversas funciones,describimos las más importantes:fscommand: Esta acción, es capaz de ejecutarciertos comandos muy potentes. Lo más cómodoes pasar a Asistente de Script (sino estábamos ya)e insertarla, nos aparecerá una pestaña con losposibles comandos que admite. Sirve parainteractuar con la aplicación que reproduce lapelícula, por ejemplo Flash Player o el navegadorweb, como IE o Firefox. Veamos esos comandos: fullscreen (true o false): Si se activa pone nuestra película a pantalla completa. Muy útil para presentaciones en CD-Rom, por ejemplo. allowscale (true o false): Controla el redimensionamiento de los objetos insertados en la película cuando el usuario estira los bordes de la misma (o de la página web en la que se encuentre) ¿Queremos
  33. 33. mantener las proporciones? Este comando nos permite controlarlo. showmenu (true o false): Si has visto el menú que aparece al pulsar el botón derecho del ratón sobre una película Flash, seguro que has pensado en hacerlo desaparecer ... puede que no interese que los usuarios puedan moverse a sus anchas por nuestra película. Ejecutando esta sentencia del modo adecuado (false), podremos ocultarlo. trepallkeys (true o false): Sirve para detectar las pulsaciones de todas las teclas durante la reproducción de nuestras películas. exec (ruta de la aplicación): Ejecuta una aplicación desde el reproductor. quit (ninguno): Cierra el reproductor Flash.Todas estas alternativas, comparten modo de uso,veámoslo:
  34. 34. Sintaxis:fscommand(comando, [argumentos]) comando: El comando a ejecutar (fullscreen, allowscale, etc...) argumentos: En la mayoría de los casos debemos escribir true o false, según queramos desactivar la opción o activarla. Por ejemplo, en el caso del comando quit lo dejaremos vacío.Ejemplo:fscommand("fullscreen", "true"); -> Activa lapantalla completa.navigateToURL() : Esta acción se emplea paraabrir el navegador web e ir a la página indicada.Sintaxis:navigateToURL(url , [ventana]); url: Dirección web a la que queremos acceder (se abrirá una ventana). Este parámetro es un objeto del tipo URLRequest. Si queremos
  35. 35. utilizar una dirección como cadena de texto, podemos hacerlo escribiendo new URLRequest("http://www.direccion.coms"). ventana: Parámetro OPCIONAL. Modo en el que queremos abrir la ventana (en la ventana actual (_self) en otra nueva (_blank) etc...).Ejemplo:navigateToURL(newURLRequest("http://www.aulaclic.es"), "_blank"); --> Abre la web de aulaClic en una ventana nueva.load(): Este método nos permite cargar nuevaspelículas Flash o imágenes en nuestra película deforma dinámica (la película se cargará cuando selo indiquemos, y no antes), en un objeto de laclase Loader, o cargar información en un objetoURLLoader. Para utilizarlo, primero tenemos quecrear un objeto de este tipo.Sintaxis:objetoCargador.load(direccion:URLRequest,[contexto]);
  36. 36. direccion: Dirección absoluta o relativa donde está situada la película SWF o la imagen a cargar. Es un objeto URLRequest, como en el caso de navigateToURL(). contexto: Es un parámetro opcional, en el que se indica algunas propiedades más avanzadas que no veremos en este curso.Ejemplo:var cargadorPeli:Loader = new Loader(); ->Creamos un objeto Loader donde cargar elarchivo.cargadorPeli:Loader.load(newURLRequest("archivo.swf"));-> LLamamos almétodo load() para que cargue el archivoindicado.Nota: Cargamos el archivo en nuestra película,pero no lo mostramos. Para verlo, tenemos queañadir el cargador a la lista de visualización, comoya veremos, por ejemplo conaddChild(cargadorPeli);.
  37. 37. Acciones - CondicionesEstas acciones sirven para controlar la lógica de lapelícula. Se puede decir que nos permiten"hablar" con Flash para indicarle lo que debehacer ante distintas situaciones. Por ejemplo,ahora que conocemos algunas Acciones, ¿Cómoindicarle a Flash que "si la variable x = 3, entoncesvaya al fotograma 5, y si no, vaya al fotograma10"?. Sabemos comparar, sabemos ir a losfotogramas, pero no sabemos decirle a Flash "Sipasa esto, haz una cosa, y si no, haz la otra...".Veamos cómo decírselo:if ... else: Si partimos de que la traducción literalde if es "si..." y la de else es "si no ...", nosencontramos de repente con todas lasherramientas para decirle a Flash: "si (pasa unacondición) {haz esto} si no {haz lo otro}"Veamos antes que nada su sintaxis paracomprenderlo mejor:
  38. 38. Sintaxis:if (condición) {sentencia_si_se_cumple; } else{sentencias_si_no; } if: Indica que acción que viene a continuación entre paréntesis es una condición. condicion: Indica una condición que debe cumplirse, es decir, debe tener como resultado true, o lo que es lo mismo, verdadero, o lo que es lo mismo, 1. De ahí la importancia de los operadores de comparación y el valor que devuelven. La condición siempre debe de ir entre paréntesis. sentencia_si_se_cumple;: Conjunto de acciones que sucederán si la condición se evalúa como verdadera. Estas sentencias deben de ir entre llaves. Podemos poner el bloque de código que queramos: varias líneas, objetos, otros if...
  39. 39. else: Especifica la alternativa si condición se evalúa a falsa. Es optativo. Si no existe, y no se cumple la condición, no se hará nada, pues no lo hemos especificado. sentencias_si_no; Conjunto de acciones que sucederán si la condición se evalúa como falsa. Deben incluirse entre llaves.Ejemplo:if (x == 2) {miClip.gotoAndPlay(6); } --> Si lavariable x vale 2, entonces saltamos al fotograma6 de miClip, si no, no hacemos nada.if (y > 7) { stop(); } else {gotoAndPlay(1); } --> si lavariable y es mayor que 7, paramos la película,sino, volvemos al fotograma 1.Aunque if es la más utilizada, existen otrasestructuras de control, como bucles, quepodemos emplear en nuestro código. Puedesverlas en este avanzado .
  40. 40. Ejemplos de ActionScript 3.0Ejemplos de uso del código ActionScriptVamos a mostrar los usos más característicos decódigo ActionScript en los diferentes objetosexistentes en Flash CS5. De este modo locomprenderemos mejor y porqué no, nosahorraremos trabajo al tener ya hechos aquímuchos de los códigos que usaremos en nuestraspelículas. Mostraremos el código y acontinuación, una explicación del mismo.Algunas cosas que debemos de tener en cuenta siestamos familiarizados con la programación enActionScript 2, es que con ActionScript 3.0 nopodemos utilizar: 1. alert() 2. La forma de tratar eventos, como on (event){}, onClipEvent(event){}, object.onEvent =
  41. 41. function(){} , addListener , etc. La forma de tratarlos ahora es agregando un escuchador al objeto, con el método addEventListener, indicando el evento, y una única función de escucha. 3. Guiones bajos ( _ ) antes del nombre de las propiedades. 4. Variables globales (_global). 5. _root y _parent para acceder a elementos superiores.Muchas de las funciones que explicaremos sepueden insertar total o parcialmente desde elpanel Fragmentos de código.Código ActionScript para botones
  42. 42. Los Botones (objeto Button para Flash CS5) tienenmucha utilidad siempre que queramos quenuestra película interactúe con el usuario. Dadoque esto va a ser prácticamente siempre, esconveniente estudiar y entender bien algunoscódigos típicos que tendremos que usar paraconseguir nuestros propósitos.En realidad, los botones se comportan comocualquier símbolo. A todos les podemos aplicareventos, ya que lo que hacemos es asociarlosnormalmente al clic del ratón. Los botones tienenla ventaja de que nos permiten representardistintos estados, mejorando la percepción deinteractividad.Para tener el código organizado, es mejor crearuna nueva capa e insertarlo ahí.Veamos algunos de ellos:?1import flash.events.MouseEvent;
  43. 43. 23miBoton.addEventListener(MouseEvent.CLICK,4funcionAlHacerClick);5 function6 funcionAlHacerClick(event:MouseEvent):void7 {8 this.gotoAndPlay(15); }Esta acción provoca que al hacer clic en el botónvayamos directamente al Fotograma número 15de la película.Utiliza la sentencia import para especificar elnombre completo de la clase, de modo que elcompilador de ActionScript sepa dónde
  44. 44. encontrarlo. En este momento queremosimportar la clase MouseEvent, le especificamos laclase de flash que debe importar:import flash.events.MouseEvent;La segunda línea indicamos qué tiene quesuceder (el evento) para que se realice la funciónque indicamos "funcionAlHacerClick".En la tercera línea ya indicamos nuestra función ydentro escribimos lo que queremos que pase alhacer clic en el botón.? import flash.events.*;1 import flash.net.*;2 miBoton.addEventListener(MouseEvent.CLICK,3 miFuncion);4 var miURL:URLRequest = new5 URLRequest("http://www.aulaclic.es");6 function miFuncion(event:MouseEvent):void
  45. 45. 7{8 navigateToURL(miURL, "_blank"); }Esta acción provoca que al pulsar un botón seabra una nueva página web en nuestronavegador por defecto y nos muestre la páginawww.aulaclic.esLa primera línea, la segunda y la tercera tienen lamisma función que en el caso anteriorLa cuarta línea creamos una variable nueva parapasarle la web a la cual queremos que nos lleve alpulsar el botón.?1import flash.events.*;2miBoton.addEventListener(MouseEvent.CLICK,
  46. 46. 3miFuncion);4function miFuncion(event:MouseEvent):void5{6 r1.width=350; }Esta acción provoca que al pulsar un botón semodifiquen las propiedades del objeto cuyonombre de instancia aparece delante de lapropiedad.La primera línea y la segunda tienen la mismafunción que en el caso anteriorEn la tercera línea definimos la función ypodemos ver la propiedad .width (anchura),vemos que hay un operador de asignación ( = ),luego deducimos que vamos a asignar unaanchura determinada a un objeto. ¿Qué anchura?
  47. 47. Pues 350, que es la cantidad que aparece en laparte derecha de la expresión. ¿Y a qué objeto? Alque va delante del ".", o lo que es lo mismo, alafectado por la propiedad.Por tanto, al pulsar el botón vamos a modificar laanchura del objeto r1, que pasará a ser de 350 px.Navegación – ActionScriptEn este tema veremos los puntos másimportantes en los que te podrás apoyar pararealizar tus animaciones en Flash usandoActionScript.Esta unidad, la de Navegación, estáespecialmente orientada a la web, pues veremoscómo crear elementos que te ayudarán más tardea crear tus propias presentaciones, secciones, etc.Todo ello apoyado con animaciones y vinculadasentre sí.
  48. 48. A lo largo del tema utilizaremos este ejemplopara ilustrar la teoría de forma guiada.18.2. Los BotonesUno de los elementos que más nos van a ayudara la hora de añadir interactividad en el diseño sonlos botones.
  49. 49. En el ejemplo nos hemos ayudado de los botonespara crear la navegación entre las diferentessecciones.Así que el primer paso, después de haber creadola interfaz de la película en una capa, será crear einsertar los botones en una nueva capa paratrabajar con mayor facilidad.Para asignarle una acción a un botón esnecesario darle un nombre de instancia. Paraello (y como hemos visto en unidades anteriores)escribimos el nombre que queramos (al cual nosreferiremos más tarde para llamar al botón) en elInspector de Propiedades, en este caso lohemos llamado equipo.
  50. 50. Luego, creamos otra capa para poder insertar lasacciones que necesitarán nuestros botones,abrimos el Panel Acciones y añadiremos elcódigo que deberá realizar el botón.Ésta es la parte más importante pues deberemosdecidir a qué evento responderá el botón.Existen varios eventos que son capturados enFlash, nombraremos los más importantes (echaun vistazo a la sección Controladores de eventodel panel Fragmentos de código).: MouseEvent.CLICK: ejecuta la acción al hacer clic con el ratón..
  51. 51. MouseEvent.MOUSE_DOWN: ejecuta la acción al presionarse el botón. MouseEvent.MOUSE_UP: ejecuta la acción al soltarse el botón (después de haberlo presionado). MouseEvent.MOUSE_OVER: ejecuta la acción al desplazar el cursor dentro del botón MouseEvent.MOUSE_OUT: ejecuta la acción al desplazar el cursor fuera del botón.Nota: ActionScript diferencia entre mayúsculasy minúsculas, por lo que si escribes, por ejemplo,mouse_up no será reconocido.Para capturar el evento tenemos que añadir unescuchador que se encargue de estar pendientede si sucede ese evento, al elementocorrespondiente. En nuestro caso, al botón.Además del evento, debemos de indicar elnombre de una función, que será el código quese ejecute al producirse el evento.
  52. 52. Por tanto, si no hemos creado ya esa función, latenemos que definir, con el mismo nombre ypasándole como parámetro el evento. Comosiempre, entre las llaves {} introduciremos elcódigo que queremos que ejecute la función.? miBoton.addEventListener(MouseEvent.CLICK,1 miFuncion);23 function miFuncion(e:MouseEvent):void4 {5 //código de la función6 }Puedes ver los todos los eventos de ratón en esteavanzado . Los eventos de ratón no sóloafectan a botones, pueden ser capturados porcualquier objeto de visualización (MovieClips,controles de formulario, imágenes, etc...).

×