SlideShare una empresa de Scribd logo
1 de 46
   El ActionScript es el lenguaje de
    programación que ha utilizado Flash desde
    sus comienzos, y que por supuesto, emplea
    Flash CS5. A grandes rasgos, podemos decir
    que el ActionScript nos permitirá realizar con
    Flash CS5 todo lo que nos propongamos, ya
    que nos da el control absoluto de todo lo que
    rodea a una película Flash. Absolutamente de
    todo.
   el ActionScript es el lenguaje de
    programación propio de Flash.
   ActionScript es, como su nombre indica, un
    lenguaje de script.
   ActionScript 3 es un lenguaje de
    programación orientado a objetos.
   La sintaxis ActionScript presenta muchísimos
    parecidos con el Java scrip o PHP.
   Flash CS5 pone a nuestra disposición una
    biblioteca de funciones, clases y métodos
   En Flash CS5, el Panel Acciones sirve para
    programar scripts con ActionScript, por tanto
    lo aquí introduzcamos le afectará de menor o
    mayor medida. Por ejemplo, en la imagen
    inferior, se puede distinguir que el
    Panel Acciones hace referencia al Fotograma
    1 de la Capa 1 (en el nombre de la pestaña
    de la zona de la derecha y en la zona
    izquierda en el apartado Selección actual).

   El Panel Acciones de Flash CS5, no tiene
    únicamente un modo de edición. Podemos
    utilizar el , en el que en vez de escribir
    directamente, seleccionamos los distintos
    elementos desde listas. Puede resultar útil al
    principio, cuando aún no estamos
    familiarizados, pero nos limita mucho al
    escribir.
   En la parte superior encontramos
    herramientas que nos ayudarán. Veamos las
    más útiles:
    Buscar: Busca un texto en el código.
    Útil, por ejemplo, si queremos buscar en
    todos los sitios que empleamos un objeto.
    Revisar sintaxis. Comprobará errores en la
    sintaxis, normalmente que hayamos
    olvidado cerrar paréntesis o corchetes. Si
    encuentra alguno, nos mostrará un mensaje
    como el siguiente:
   En el panel Errores de compilador se mostrarán los errores indicando la
    capa, fotograma y línea. Podemos ir al lugar del error haciendo doble clic.
    Formato automático. Al escribir en cualquier lenguaje, es muy importante
    hacerlo ordenadamente y con el formato adecuado. Este botón lo hace
    automáticamente, siempre que no haya errores de sintaxis.
    Cuando tenemos mucho código, nos resultará más cómodo si contraemos
    ciertas partes. Con estos botones, podemos, de izquierda a
    derecha, contraer el espacio entre llaves, contraer la selección o expandir
    todo.
    Cuando estamos programando, es frecuente que queramos comentar un
    fragmento de código para que no se ejecute o que queramos añadir
    comentarios descriptivos. Con estos botones, podemos comentar el texto
    seleccionado, o descomentarlo.

   Aunque la sintaxis sea correcta, puede que al probar
    nuestra película se sigan produciendo errores (errores de
    compilación). Por ejemplo porque accedemos a una
    propiedad de un objeto que no existe, o nos hemos
    equivocado al escribir el nombre de una variable. Estos
    errores también nos aparecerán en el panel Errores de
    compilador. En este caso, fíjate en el número de línea del
    error, ya que al hacer doble clic, a veces no va al lugar
    correcto si el código tiene comentarios.
   En Flash CS5 se ha creado un nuevo panel
    para ayudarnos a generar el código
    ActionScript: el panel Fragmentos de código.
   Lo más destacado es que podemos crear
    nuestros propios fragmentos de código, con
    intruscciones que usemos habitualmente.
   Además podemos exportarlas e importarlas a
    otras instalaciones del programa.
   Un operador es un tipo de carácter que realiza una acción especial
    dentro de una expresión de ActionScript. Una expresión no es más que
    un conjunto de operadores, variables y constantes relacionados 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 una constante). A partir de este punto, la variable
    x vale 3.
   y = 5 + x ; --> Es una expresión cuyo resultado será asignarle a la
    variable ' y ' la suma de la constante 5 y la variable ' x ' que sabemos que
    vale 3 (porque le hemos asignado este valor antes). Por tanto, el
    resultado de esta expresión es asignarle 8 a y. También se puede
    considerar como asignar a y el valor de la expresión 5 + x
   Flash nos permite usar multitud de operadores, vamos a comentar los
    más comunes. El lector puede acceder a los demás (y a estos) desde
    el Panel Acciones en la carpeta Elementos de lenguaje → Operadores.
    Vamos a clasificar los operadores tal y cómo lo hace Flash.
   Son los operadores empleados en
        operaciones matemá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 1   valor++ equivaldría
++
                   al valor             a valor = valor + 1
                   Decremento. Resta 1 valor-- equivaldría
--
                   al valor            a valor = valor - 1
   Asigna el valor de una variable.
       Operador       Descripción                  Ejemplo

                      Asigna a la variable de la   variable vale 3;
       =              izquierda el valor de la     variable = 5;
                      derecha                      variable vale 5;


                      Suma con asignación. Le      variable vale 3;
       +=             añade a la variable el       variable += 5;
                      valor de la derecha.         variable vale 8;


                      Resta con asignación. Le     variable vale 3;
       -=             resta el valor de la         variable -= 5;
                      derecha.                     variable vale -2;

                                                   variable vale 3;
                      Multiplicación con
       *=                                          variable *= 5;
                      asignación.
                                                   variable vale 15;
                                                   variable vale 15;
       /=             División con asignación      variable /= 5;
                                                   variable vale 3;
   Empleados en expresiones
    condicionales, devuelven un valor
    lógico, verdadero (TRUE o 1) si la
    comparación es cierta, o falso (FALSE o 0) si
    no lo es.
     Operador     Descripción    Ejemplo
                                      6 > 5 da
    >             Mayor que
                                      verdadero.
    <             Menor que           6 < 5 da falso.
                                      6 >= 5 da
    >=            Mayor o igual que
                                      verdadero.
                                      6 >= 6 da
    <=            Menor o igual que
                                      verdadero.
                                      'hola' == 'hola' da
    ==            Igual
                                      verdadero.
                                      'hola' != 'hola' da
    !=            Distinto
                                      falso.
    Evalúan valores lógicos. Normalmente se
     emplean para comparar dos expresiones
     con operadores relacionales, y devuelve
     verdadero o falso.

Operador          Descripción                  Ejemplo
                                               (6 > 5) && (1==1) devuelve
                  And (Y) Devuelve verdadero
                                               verdadero
&&                si los dos valores son
                                               (6 > 5) && (1==0) devuelve
                  verdaderos
                                               falso
                                               (6 > 5) || (1==1) devuelve
                                               verdadero
                  Or (O) Devuelve verdadero si
                                               (6 > 5) || (1==0) devuelve
||                alguno de los valores es
                                               verdadero
                  verdadero
                                               (6 > 6) || (1==0) devuelve
                                               falso
                  Not (Negado) Devuelve
                                               !(9 > 2) devuelve falso
!                 verdadero si el valor era
                                               !(9 ==9) devuelve falso
                  falso, y al revés.
   Pondremos un ejemplo; imaginemos que le
    pedimos a un usuario que introduzca su
    edad en un campo de texto de nuestra
    película flash. A ese campo le
    llamamos edad usuario. Le hacemos pulsar
    un botón Continuar y en ese momento
    comprobamos su edad, si tiene menor de
    edad, le decimos una cosa, de lo
    contrario, le decimos otra. Bastaría con
    hacer algo así:
      1 if (edad usuario<18) {
      2    dar_mensaje_1();
      3 } else {
      4    dar_mensaje_2();
      5 }
   En la siguiente tabla, vemos el orden de
    precedencia, de mayor a menor, se
    ejecutan primero los de mayor orden.
    Orden de precedencia
    Negación (!) / Incremento (++) / Decremento (--)
    Multiplicación (*) / División (/) / Resto (%)
    Suma (+) / Resta (-)
    Relacionales mayor - menor (>, <, >=, <=)
    Igualdad (==) / Desigualdad (!=)
    And lógico (&&)
    Or lógico (||)
    Asignación (=, +=, -=...)
   ( ) : Paréntesis. Sirven, como es de esperar, para agrupar
    términos y dar preferencias en las operaciones (al igual que en
    matemáticas). También se usa, como ya vimos, para pasar
    parámetros a funciones o acciones.
   " " : Comillas. En ActionScript, todo lo que va entre comillas, pasa
    a considerarse una cadena de caracteres. Así por
    ejemplo, mientras que x representa una variable con un valor
    determinado, si escribimos "x", estamos escribiendo en realidad
    el carácter o la letra "x". Por tanto, podremos añadirlo a una
    palabra, compararlo con otras letras, escribirlo por pantalla etc..
    pero ya no será una variable.
   //: Comentario de línea. Indica que el texto a partir de ahí, y en
    esa línea, es un comentario, y no se ejecutará como código.
   /* ....... */: Comentario de bloque. Cualquier texto de una o más
    líneas encerrado entre estos caracteres es un comentario, y no se
    ejecutará como código.
   Los Objetos, como ya hemos visto en el tema básico, los objetos
    son instancias de una determinada clase. Esto es, son
    representantes de una clase ya definida. Cada objeto tiene las
    propiedades y métodos propios de la clase, y normalmente son
    independientes unos de otros. Así, son objetos, por ejemplo, un
    botón, un clip de película, un gráfico o un sonido... es decir, que
    prácticamente todo es un objeto en Flash CS5.
   Vamos a ver los objetos más usados en Flash y una breve
    descripción de cada uno de ellos. Como ya se ha explicado en el
    tema básico, cada objeto tiene una serie dePropiedades (que
    veremos después), unos Métodos y eventos, que dan
    funcionalidad a los objetos. Cuando un componente de Flash
    pasa a ser un objeto, automáticamente pasa a tener todas las
    propiedades definidas por Flash para ese objeto y pasa a
    reaccionar ante los Métodos y eventos que tiene definidos.
    Podemos encontrar una lista con todas las propiedades, métodos
    y Acciones.
   Los objetos de tipo Botón es un tipo de
    MovieClip especialmente pensado para que el
    usuario interactúe con él, permitiéndonos
    diferenciar entre sus estados, y crear una
    apariencia para cada uno.
    Cuando nos interese que una imagen que
    hayamos diseñado se comporte como un
    botón, bastará convertirla a botón (del modo
    visto en el capítulo correspondiente) y ya
    podremos usar los eventos típicos de un
    botón.
   Cuando necesitemos crear una película Flash
    dentro de otra película, pero no queramos tener
    2 ficheros separados ni molestarnos en cargar
    una película u otra, deberemos crear un objeto
    movieclip. Entre sus propiedades especiales
    destaca que los objetos "clip de película"
    tienen, internamente, una línea de tiempos que
    corre independiente de la línea de tiempos de la
    película principal de Flash, lo que nos permite
    crear animaciones tan complejas e
    independientes como queramos (podemos crear
    tantos clips de película dentro de otros como
    queramos, por ejemplo). Realmente, toda nuestra
    película es un MovieClip.
   Esta clase engloba a todos los objetos
    que podemos ver en nuestra película,
    como los Clips de película y botones, y
    define las propiedades y métodos
    comunes para todos ellos.
   Los objetos sonidos no son visuales, y por tanto,
    no podremos ver como quedan en los
    fotogramas, al igual que haríamos con un botón
    o un clip de película. Deberemos controlarlos,
    por tanto, desde el Panel Acciones y usando
    ActionScript. Tienen multitud de métodos
    especiales, muy potentes y útiles, podemos parar
    un sonido, crear un bucle, darle efectos sonoros
    etc... Utilizando el canal de sonido, podremos
    pararlo, ajustar el volumen, etc.
    Podríamos, por ejemplo, crear un objeto de tipo
    sonido y después hacer que al pulsar un botón
    suene. (Más adelante se verá algún ejemplo de
    uso de sonidos).
   El objeto mouse es uno de los objetos de Flash que ya está
    definido por Flash, pues hace referencia 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 de Windows, tipo de cursos, efectos
    asociados, detección de su posición etc...
    Vale la pena insistir en que su manejo no es análogo al de
    otros objetos como el botón, pues podemos crear tantos
    botones como queramos y hacer con ellos lo que
    decidamos, pero el objeto Mouse es único y actúa sobre el
    ratón del PC del usuario que vea nuestra película. Se
    puede decir que es un objeto "externo" que permite que
    otras partes del Sistema Operativo interactúen con nuestra
    película Flash. Por tanto, es muy potente.
   Es uno de los múltiples objetos "abstractos"
    de Flash, ni es visual, ni parece que
    corresponda a nada existente en el sistema
    (como el objeto "Mouse"). Su función es muy
    importante, pues nos permite usar fórmulas
    matemáticas de modo muy sencillo. En el
    tema siguiente veremos algún ejemplo de su
    uso.
   Es otro objeto peculiar, pues corresponde a
    un tipo de datos. Los strings o cadenas son
    secuencias de caracteres. Si definimos una
    secuencia de caracteres como objeto de tipo
    String, podremos usar los métodos que Flash
    implementa sobre ellas: Seleccionar
    subcadenas de letras, buscar una
    determinada letra en una palabra, convertir la
    palabra a letras mayúsculas y un largo etc
   Los objetos Loader nos permitirán cargar
    archivos para mostrarlos
    (imágenes, archivos swf, etc...) en
    nuestra película, mientras que los
    objetos URLLoader nos permitirán cargar
    información de archivos (archivos de
    texto, XML, páginas web...).
   Flash CS5 llama acciones a lo referente al código ActionScript, lo que
    nos permite dar comportamientos a los objetos.
   Estas acciones son funciones predefinidas de ActionScript, es decir:
    Flash CS5 las crea, y nosotros sólo tenemos que usarlas de la manera
    que se nos indica. No tenemos que definir las funciones ni nada por el
    estilo, ni siquiera necesitamos saber cómo están hechas... Lo importante
    es que están listas para usar, lo que facilita el uso de este lenguaje de
    programación y sobre todo, haga muy rápido comenzar a programar.
   Por supuesto, cuando tengamos más conocimientos, veremos que no es
    difícil completar estas acciones ya creadas con las nuestras propias.
   Explicaremos las Acciones más importantes, y a medida que avancemos
    en el curso, añadiremos algunas 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 todas está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.
   Estas acciones se emplean, como su nombre
    indica, para controlar el flujo de nuestra
    película, esto es, para indicar a Flash en todo
    momento qué fotograma tiene que
    mostrar, cuándo tiene que parar, dónde seguir
    etc...
   Estas acciones son métodos de la clase
    MovieClip. Podemos aplicarlas a cualquier
    MovieClip de nuestra película, siguiendo el
    siguiente formato:nombreMovieClip.accion();. Si
    escribimos la función directamente, es decir, si
    no indicamos el objeto, estamos haciendo
    referencia a la película general.
   gotoAndPlay: Esta acción será, probablemente la que más
    usemos durante la realización de nuestras películas. La
    acción que realiza consiste en mover la cabeza lectora al
    fotograma que le indiquemos. La cabeza lectora es lo que
    determina qué fotograma de nuestra película se está
    reproduciendo en cada momento. Si, por ejemplo, lo
    movemos del fotograma 1 al 25, lo que veremos
    instantáneamente será el fotograma 25 y la película
    continuará reproduciéndose a partir de ahí.Sintaxis:
    gotoAndPlay(escena, fotograma):
    ◦ escena: Nombre de la escena a la que queremos enviar la cabeza
      lectora. Debe ir entre comillas dobles.
    ◦ 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ón lleva la cabeza lectora al
    fotograma 7 de la escena llamada "Escena2"
    del MovieClip con el nombre de
    instanciamiClip.play: Da comienzo a la
    reproducción de la película o la continúa
    desde el punto detenido.Sintaxis:
    play();
      No tiene Parámetros.Ejemplo:
    this.play(); → Inicia la reproducción del
    objeto actual.stop: Detiene la reproducción
    de la película. Se puede usar en un
    fotograma, cuando queramos detenernos en
    él (porque es un menú, por ejemplo), en un
    botón, (para que detenga la
    película), etc..Sintaxis:
    stop();
     No tiene Parámetros.
   fscommand: Esta acción, es capaz de ejecutar ciertos comandos muy
    potentes. Lo más cómodo es pasar a Asistente de Script (sino estábamos
    ya) e insertarla, nos aparecerá una pestaña con los posibles comandos
    que admite. Sirve para interactuar con la aplicación que reproduce la
    película, por ejemplo Flash Player o el navegador web, 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 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:Sintaxis:
    fscommand(comando, [argumentos])comando: E
    l 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 la
    pantalla completa.navigateToURL() : Esta acción
    se emplea para abrir el navegador web e ir a la
    página i
   navigateToURL() : Esta acción se emplea para abrir 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 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...).
   Estas acciones sirven para controlar la lógica de la película. Se
    puede decir que nos permiten "hablar" con Flash para indicarle lo
    que debe hacer ante distintas situaciones. Por ejemplo, ahora que
    conocemos algunas Acciones, ¿Cómo indicarle a Flash que "si la
    variable x = 3, entonces vaya al fotograma 5, y si no, vaya al
    fotograma 10"?. Sabemos comparar, sabemos ir a los
    fotogramas, pero no sabemos decirle a Flash "Si pasa esto, haz
    una cosa, y si no, haz la otra...". Veamos cómo decírselo:
   if ... else: Si partimos de que la traducción literal de if es "si..." y
    la de else es "si no ...", nos encontramos de repente con todas las
    herramientas para decirle a Flash: "si (pasa una condición) {haz
    esto} si no {haz lo otro}"
    Veamos antes que nada su sintaxis para comprenderlo
    mejor: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.
   Ejemplo:
    navigateToURL(new
    URLRequest("http://www.aulaclic.es"), "_blank"); --> Abre la web
    de aulaClic en una ventana nueva.load(): Este método nos permite
    cargar nuevas películas Flash o imágenes en nuestra película de
    forma dinámica (la película se cargará cuando se lo
    indiquemos, y no antes), en un objeto de la clase Loader, o
    cargar información en un objeto URLLoader. Para
    utilizarlo, primero tenemos que crear un objeto de este
    tipo.Sintaxis:
    objetoCargador.load(direccion:URLRequest, [contexto]);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 el archivo.
    cargadorPeli:Loader.load(new URLRequest("archivo.swf"));->
    LLamamos al método load() para que cargue el archivo indicado.
    Nota: Cargamos el archivo en nuestra película, pero no lo
    mostramos. Para verlo, tenemos que añadir el cargador a la lista
    de visualización, como ya veremos, por ejemplo
    conaddChild(cargadorPeli);. Acciones - Condiciones
   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...
   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 la variable x vale
    2, entonces saltamos al fotograma 6 de miClip, si no, no
    hacemos nada.
   if (y > 7) { stop(); } else {gotoAndPlay(1); } --> si la variable y es
    mayor que 7, paramos la película, sino, volvemos al fotograma 1.

   Los Métodos y Propiedades suelen ser específicos de
    cada objeto, y su estudio requeriría un nuevo curso
    completo, (recomendamos consultar la ayuda
    incorporada en el Flash CS5 cuando surjan dudas),
    pero hay bastantes propiedades de los objetos que
    son comunes a muchos de ellos. Vamos a ver las más
    utilizadas, que afectan a los objetos de visualización,
    que son con los que trabajaremos habitualmente.
   Hay que entender que las clases se heredan. Es decir,
    una clase genérica, tiene subclases más concretas.
    Las sublaceses, tienen todos los métodos y
    propiedades de la clase de la que heredan, y además
    agregan sus propios métodos y funciones.
    alphaHace referencia a la opacidad del objeto al
    que afecte. La opacidad se puede definir como la
    no-transparencia. De modo que un 100% de
    transparencia equivale a un 0 de opacidad, o a un
    0 de alpha. heightDevuelve o establece la altura
    del objeto en píxeles. Por ejemplo, si tenemos un
    clip de película llamado "Clip1" y escribimos
    "Clip1.height" obtendremos la altura de Clip1.
    Del mismo modo, podemos cambiarla sin más
    que hacer: Clip1.height = 100; (la altura del Clip1
    pasaría a ser de 100 píxeles) widthPropiedad
    idéntica a la anterior, pero devuelve o establece
    la anchura.
   . visibleDetermina si el objeto está o no visible en nuestra
    película. Cuando vale 1 o True, lo está, cuando vale 0 o False,
    pasa a ser invisible. Es muy útil para hacer desaparecer partes de
    una película en un momento determinado. Por ejemplo, si
    queremos que al pulsar un botón desaparezca el clip de película
    llamado "Clip2", haremos esto: .... ... Clip2.visible = 0; ...
    .... xCon esta propiedad obtenemos o establecemos las
    coordenadas del objeto respecto del eje de las X (horizontal).
    Sirve para averiguar la posición o para asignarla de forma
    dinámica (durante la ejecución de nuestra película Flash) yCon
    esta propiedad obtenemos las coordenadas del objeto respecto
    del eje de las Y (vertical). Sirve para averiguar la posición o para
    asignarla de forma dinámica (durante la ejecución de nuestra
    película Flash). rotationCon esta propiedad obtenemos o
    establecemos el giro del objeto, su rotación, expresado en
    grados. nameCon esta propiedad obtenemos o establecemos el
    nombre de la instancia.
   Vamos a mostrar los usos más característicos de código ActionScript en
    los diferentes objetos existentes en Flash CS5. De este modo lo
    comprenderemos mejor y porqué no, nos ahorraremos trabajo al tener
    ya hechos aquí muchos de los códigos que usaremos en nuestras
    películas. Mostraremos el código y a continuación, una explicación del
    mismo.
   Algunas cosas que debemos de tener en cuenta si estamos
    familiarizados con la programación en ActionScript 2, es que con
    ActionScript 3.0 no podemos utilizar:
   alert()
   La forma de tratar eventos, como on
    (event){}, onClipEvent(event){}, object.onEvent = 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.
   Guiones bajos ( _ ) antes del nombre de las propiedades.
   Variables globales (_global).
   _root y _parent para acceder a elementos superiores.

   Los Botones (objeto Button para Flash CS5) tienen
    mucha utilidad siempre que queramos que
    nuestra película interactúe con el usuario. Dado
    que esto va a ser prácticamente siempre, es
    conveniente estudiar y entender bien algunos
    códigos típicos que tendremos que usar para
    conseguir nuestros propósitos.
   En realidad, los botones se comportan como
    cualquier símbolo. A todos les podemos aplicar
    eventos, ya que lo que hacemos es asociarlos
    normalmente al clic del ratón. Los botones tienen
    la ventaja de que nos permiten representar
    distintos estados, mejorando la percepción de
    interactividad.
   Las primeras líneas son las comentadas
    anteriormente.
   Partimos de una película con 2 fotogramas
    distintos.
   En el primer fotograma están el botón y el clip de
    película (r1) correspondientes. El clip de película
    tiene en su línea de tiempos una animación,
    inicialmente detenida. Veamos que pasa si se
    accede a su fotograma 2.
   En el segundo fotograma no nos importa lo que
    haya porque la acción situada a la izquierda no
    nos llevará hasta allí. La cabeza lectora de la
    película principal es independiente.
   ?
   1
   2
   3
   // Código 2


   canal.stop();
   Este código detiene el sonido que se esté reproduciendo por el canal de sonido canal.
   ?
   1
   2
   3
   4
   // Código 3


   canal.stop();
   canal = musica.play(0,99);
   La primera línea detiene el sonido, como hemos visto antes.
   La segunda, provoca que el sonido musica comience a reproducirse (play) a partir de su posición inicial (el 0 indica los segundos transcurridos desde el comienzo) y lo haga 99
    veces (esto se llama loop o bucle). Si ponemos sólo musica.play();, se reproducirá desde el principio y sólo una vez, como vemos en el siguiente código:
   ?
   1
   2
   3
   4
   // Código 4


   canal.stop();
   canal = musica.play();
   Ahora que ya sabemos controlar los sonidos mediante ActionScript, veamos un ejemplo que reúne todo lo visto anteriormente.
   Aunque la idea de objeto no suele llevarnos a pensar en un sonido, en Flash CS5 los sonidos
    también son objetos y podemos manejarlos usando adecuadamente ActionScript. Veamos unos
    cuantos códigos muy comunes y un completo ejemplo de cómo usarlos:
   ?
   1
   2
   3
   4
   5
   //Código 1

   var req:URLRequest = new URLRequest("sonido.mp3");
   var musica:Sound = new Sound(req);
   var canal:SoundChannel = new SoundChannel();
   sonido.mp3 es el nombre del archivo de sonido que se va a cargar, seria aquí donde
    deberíamos sustituir éste y poner el nombre del sonido que queramos nosotros, y deberá
    encontrarse en el mismo directorio que se encuentre el archivo Flash que estamos creando, o
    indicar la ruta completa.
   En musica, que es un objeto Sound, almacenamos el sonido. Para controlarlo,
    utilizaremos canal, un objeto SoundChanel.
   canal.stop();
   canal = musica.play();
   Ahora que ya sabemos controlar los sonidos
    mediante ActionScript, veamos un ejemplo
    que reúne todo lo visto anteriormente.
   1
   2
   3
   // Código 2

   canal.stop();
   Este código detiene el sonido que se esté reproduciendo por el canal de
    sonido canal.
   ?
   1
   2
   3
   4
   // Código 3

   canal.stop();
   canal = musica.play(0,99);
   La primera línea detiene el sonido, como hemos visto antes.
   La segunda, provoca que el sonido musica comience a reproducirse (play) a partir
    de su posición inicial (el 0 indica los segundos transcurridos desde el comienzo) y
    lo haga 99 veces (esto se llama loop o bucle). Si ponemos sólo musica.play();, se
    reproducirá desde el principio y sólo una vez, como vemos en el siguiente código:

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Recu gabus 3° parcial
Recu gabus 3° parcialRecu gabus 3° parcial
Recu gabus 3° parcial
 
2,1 elementos de java script
2,1 elementos de java script2,1 elementos de java script
2,1 elementos de java script
 
P web(21,'elementos de js')
P web(21,'elementos de js')P web(21,'elementos de js')
P web(21,'elementos de js')
 
Visual Basic 6.0 Parte 1/2
Visual Basic 6.0 Parte 1/2Visual Basic 6.0 Parte 1/2
Visual Basic 6.0 Parte 1/2
 
Recordatorio
RecordatorioRecordatorio
Recordatorio
 
Perl6 expresiones regulares
Perl6 expresiones regularesPerl6 expresiones regulares
Perl6 expresiones regulares
 
Elementos del lenguaje java
Elementos del lenguaje javaElementos del lenguaje java
Elementos del lenguaje java
 
18 Php. Tipos De Variables
18 Php. Tipos De Variables18 Php. Tipos De Variables
18 Php. Tipos De Variables
 
funciones de excel
funciones de excelfunciones de excel
funciones de excel
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Pl
PlPl
Pl
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje c
 
Ap n° 7 rios,m. fernanda
Ap n° 7 rios,m. fernandaAp n° 7 rios,m. fernanda
Ap n° 7 rios,m. fernanda
 
Operadores
OperadoresOperadores
Operadores
 
Repaso c
Repaso cRepaso c
Repaso c
 
funciones de excel
funciones de excelfunciones de excel
funciones de excel
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y Expresiones
 

Similar a ActionScript en Flash CS5

Ana maria morales 11 01
Ana maria morales 11 01Ana maria morales 11 01
Ana maria morales 11 01aniimorales
 
Henry lopez 11 02
Henry lopez 11 02Henry lopez 11 02
Henry lopez 11 02Henry Lopez
 
Operadores
OperadoresOperadores
Operadoresluisszz
 
diapositivas de operadores en php Brenda mora.
diapositivas de operadores en php  Brenda mora.diapositivas de operadores en php  Brenda mora.
diapositivas de operadores en php Brenda mora.brendaledimar
 
Lizeth natalia urian salazar proyectio
Lizeth natalia urian salazar proyectioLizeth natalia urian salazar proyectio
Lizeth natalia urian salazar proyectiolizizizi
 
Consulta excel
Consulta excelConsulta excel
Consulta excelVerito Ch
 
Condicionales y variables de tipo booleano.pdf
Condicionales y variables de tipo booleano.pdfCondicionales y variables de tipo booleano.pdf
Condicionales y variables de tipo booleano.pdfCESAR902949
 
Certificación java 6 cap 4
Certificación java 6 cap 4Certificación java 6 cap 4
Certificación java 6 cap 4srBichoRaro
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilabGabriel Romero
 
Operadores del lenguaje
Operadores del lenguajeOperadores del lenguaje
Operadores del lenguajelego70
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntCristian C
 
Introducción a java script operadores
Introducción a java script operadoresIntroducción a java script operadores
Introducción a java script operadoresmariazeballos
 

Similar a ActionScript en Flash CS5 (20)

Ana maria morales 11 01
Ana maria morales 11 01Ana maria morales 11 01
Ana maria morales 11 01
 
Presentación1
Presentación1Presentación1
Presentación1
 
Actionscript
ActionscriptActionscript
Actionscript
 
Henry lopez 11 02
Henry lopez 11 02Henry lopez 11 02
Henry lopez 11 02
 
Operadores
OperadoresOperadores
Operadores
 
diapositivas de operadores en php Brenda mora.
diapositivas de operadores en php  Brenda mora.diapositivas de operadores en php  Brenda mora.
diapositivas de operadores en php Brenda mora.
 
Lizeth natalia urian salazar proyectio
Lizeth natalia urian salazar proyectioLizeth natalia urian salazar proyectio
Lizeth natalia urian salazar proyectio
 
Expresiones y operaciones grupo 1
Expresiones y operaciones grupo 1Expresiones y operaciones grupo 1
Expresiones y operaciones grupo 1
 
PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02
 
Php1
Php1Php1
Php1
 
Consulta excel
Consulta excelConsulta excel
Consulta excel
 
Tutorial pseudocodigo11
Tutorial pseudocodigo11Tutorial pseudocodigo11
Tutorial pseudocodigo11
 
Condicionales y variables de tipo booleano.pdf
Condicionales y variables de tipo booleano.pdfCondicionales y variables de tipo booleano.pdf
Condicionales y variables de tipo booleano.pdf
 
Certificación java 6 cap 4
Certificación java 6 cap 4Certificación java 6 cap 4
Certificación java 6 cap 4
 
Fundamentos de programación en scilab
Fundamentos de programación en scilabFundamentos de programación en scilab
Fundamentos de programación en scilab
 
Operadores del lenguaje
Operadores del lenguajeOperadores del lenguaje
Operadores del lenguaje
 
Php
PhpPhp
Php
 
Tipo de operadores
Tipo de operadoresTipo de operadores
Tipo de operadores
 
Variables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeIntVariables, expresiones y ejecución de condiciones les en PSeInt
Variables, expresiones y ejecución de condiciones les en PSeInt
 
Introducción a java script operadores
Introducción a java script operadoresIntroducción a java script operadores
Introducción a java script operadores
 

ActionScript en Flash CS5

  • 1.
  • 2. El ActionScript es el lenguaje de programación que ha utilizado Flash desde sus comienzos, y que por supuesto, emplea Flash CS5. A grandes rasgos, podemos decir que el ActionScript nos permitirá realizar con Flash CS5 todo lo que nos propongamos, ya que nos da el control absoluto de todo lo que rodea a una película Flash. Absolutamente de todo.
  • 3. el ActionScript es el lenguaje de programación propio de Flash.  ActionScript es, como su nombre indica, un lenguaje de script.  ActionScript 3 es un lenguaje de programación orientado a objetos.  La sintaxis ActionScript presenta muchísimos parecidos con el Java scrip o PHP.  Flash CS5 pone a nuestra disposición una biblioteca de funciones, clases y métodos
  • 4. En Flash CS5, el Panel Acciones sirve para programar scripts con ActionScript, por tanto lo aquí introduzcamos le afectará de menor o mayor medida. Por ejemplo, en la imagen inferior, se puede distinguir que el Panel Acciones hace referencia al Fotograma 1 de la Capa 1 (en el nombre de la pestaña de la zona de la derecha y en la zona izquierda en el apartado Selección actual). 
  • 5.
  • 6. El Panel Acciones de Flash CS5, no tiene únicamente un modo de edición. Podemos utilizar el , en el que en vez de escribir directamente, seleccionamos los distintos elementos desde listas. Puede resultar útil al principio, cuando aún no estamos familiarizados, pero nos limita mucho al escribir.  En la parte superior encontramos herramientas que nos ayudarán. Veamos las más útiles:  Buscar: Busca un texto en el código. Útil, por ejemplo, si queremos buscar en todos los sitios que empleamos un objeto.  Revisar sintaxis. Comprobará errores en la sintaxis, normalmente que hayamos olvidado cerrar paréntesis o corchetes. Si encuentra alguno, nos mostrará un mensaje como el siguiente:
  • 7. En el panel Errores de compilador se mostrarán los errores indicando la capa, fotograma y línea. Podemos ir al lugar del error haciendo doble clic.  Formato automático. Al escribir en cualquier lenguaje, es muy importante hacerlo ordenadamente y con el formato adecuado. Este botón lo hace automáticamente, siempre que no haya errores de sintaxis.  Cuando tenemos mucho código, nos resultará más cómodo si contraemos ciertas partes. Con estos botones, podemos, de izquierda a derecha, contraer el espacio entre llaves, contraer la selección o expandir todo.  Cuando estamos programando, es frecuente que queramos comentar un fragmento de código para que no se ejecute o que queramos añadir comentarios descriptivos. Con estos botones, podemos comentar el texto seleccionado, o descomentarlo. 
  • 8. Aunque la sintaxis sea correcta, puede que al probar nuestra película se sigan produciendo errores (errores de compilación). Por ejemplo porque accedemos a una propiedad de un objeto que no existe, o nos hemos equivocado al escribir el nombre de una variable. Estos errores también nos aparecerán en el panel Errores de compilador. En este caso, fíjate en el número de línea del error, ya que al hacer doble clic, a veces no va al lugar correcto si el código tiene comentarios.
  • 9. En Flash CS5 se ha creado un nuevo panel para ayudarnos a generar el código ActionScript: el panel Fragmentos de código.
  • 10. Lo más destacado es que podemos crear nuestros propios fragmentos de código, con intruscciones que usemos habitualmente.  Además podemos exportarlas e importarlas a otras instalaciones del programa.
  • 11. Un operador es un tipo de carácter que realiza una acción especial dentro de una expresión de ActionScript. Una expresión no es más que un conjunto de operadores, variables y constantes relacionados 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 una constante). A partir de este punto, la variable x vale 3.  y = 5 + x ; --> Es una expresión cuyo resultado será asignarle a la variable ' y ' la suma de la constante 5 y la variable ' x ' que sabemos que vale 3 (porque le hemos asignado este valor antes). Por tanto, el resultado de esta expresión es asignarle 8 a y. También se puede considerar como asignar a y el valor de la expresión 5 + x  Flash nos permite usar multitud de operadores, vamos a comentar los más comunes. El lector puede acceder a los demás (y a estos) desde el Panel Acciones en la carpeta Elementos de lenguaje → Operadores. Vamos a clasificar los operadores tal y cómo lo hace Flash.
  • 12. Son los operadores empleados en operaciones matemá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 1 valor++ equivaldría ++ al valor a valor = valor + 1 Decremento. Resta 1 valor-- equivaldría -- al valor a valor = valor - 1
  • 13. Asigna el valor de una variable. Operador Descripción Ejemplo Asigna a la variable de la variable vale 3; = izquierda el valor de la variable = 5; derecha variable vale 5; Suma con asignación. Le variable vale 3; += añade a la variable el variable += 5; valor de la derecha. variable vale 8; Resta con asignación. Le variable vale 3; -= resta el valor de la variable -= 5; derecha. variable vale -2; variable vale 3; Multiplicación con *= variable *= 5; asignación. variable vale 15; variable vale 15; /= División con asignación variable /= 5; variable vale 3;
  • 14. Empleados en expresiones condicionales, devuelven un valor lógico, verdadero (TRUE o 1) si la comparación es cierta, o falso (FALSE o 0) si no lo es. Operador Descripción Ejemplo 6 > 5 da > Mayor que verdadero. < Menor que 6 < 5 da falso. 6 >= 5 da >= Mayor o igual que verdadero. 6 >= 6 da <= Menor o igual que verdadero. 'hola' == 'hola' da == Igual verdadero. 'hola' != 'hola' da != Distinto falso.
  • 15. Evalúan valores lógicos. Normalmente se emplean para comparar dos expresiones con operadores relacionales, y devuelve verdadero o falso. Operador Descripción Ejemplo (6 > 5) && (1==1) devuelve And (Y) Devuelve verdadero verdadero && si los dos valores son (6 > 5) && (1==0) devuelve verdaderos falso (6 > 5) || (1==1) devuelve verdadero Or (O) Devuelve verdadero si (6 > 5) || (1==0) devuelve || alguno de los valores es verdadero verdadero (6 > 6) || (1==0) devuelve falso Not (Negado) Devuelve !(9 > 2) devuelve falso ! verdadero si el valor era !(9 ==9) devuelve falso falso, y al revés.
  • 16. Pondremos un ejemplo; imaginemos que le pedimos a un usuario que introduzca su edad en un campo de texto de nuestra película flash. A ese campo le llamamos edad usuario. Le hacemos pulsar un botón Continuar y en ese momento comprobamos su edad, si tiene menor de edad, le decimos una cosa, de lo contrario, le decimos otra. Bastaría con hacer algo así: 1 if (edad usuario<18) { 2 dar_mensaje_1(); 3 } else { 4 dar_mensaje_2(); 5 }
  • 17. En la siguiente tabla, vemos el orden de precedencia, de mayor a menor, se ejecutan primero los de mayor orden. Orden de precedencia Negación (!) / Incremento (++) / Decremento (--) Multiplicación (*) / División (/) / Resto (%) Suma (+) / Resta (-) Relacionales mayor - menor (>, <, >=, <=) Igualdad (==) / Desigualdad (!=) And lógico (&&) Or lógico (||) Asignación (=, +=, -=...)
  • 18. ( ) : Paréntesis. Sirven, como es de esperar, para agrupar términos y dar preferencias en las operaciones (al igual que en matemáticas). También se usa, como ya vimos, para pasar parámetros a funciones o acciones.  " " : Comillas. En ActionScript, todo lo que va entre comillas, pasa a considerarse una cadena de caracteres. Así por ejemplo, mientras que x representa una variable con un valor determinado, si escribimos "x", estamos escribiendo en realidad el carácter o la letra "x". Por tanto, podremos añadirlo a una palabra, compararlo con otras letras, escribirlo por pantalla etc.. pero ya no será una variable.  //: Comentario de línea. Indica que el texto a partir de ahí, y en esa línea, es un comentario, y no se ejecutará como código.  /* ....... */: Comentario de bloque. Cualquier texto de una o más líneas encerrado entre estos caracteres es un comentario, y no se ejecutará como código.
  • 19. Los Objetos, como ya hemos visto en el tema básico, los objetos son instancias de una determinada clase. Esto es, son representantes de una clase ya definida. Cada objeto tiene las propiedades y métodos propios de la clase, y normalmente son independientes unos de otros. Así, son objetos, por ejemplo, un botón, un clip de película, un gráfico o un sonido... es decir, que prácticamente todo es un objeto en Flash CS5.  Vamos a ver los objetos más usados en Flash y una breve descripción de cada uno de ellos. Como ya se ha explicado en el tema básico, cada objeto tiene una serie dePropiedades (que veremos después), unos Métodos y eventos, que dan funcionalidad a los objetos. Cuando un componente de Flash pasa a ser un objeto, automáticamente pasa a tener todas las propiedades definidas por Flash para ese objeto y pasa a reaccionar ante los Métodos y eventos que tiene definidos. Podemos encontrar una lista con todas las propiedades, métodos y Acciones.
  • 20. Los objetos de tipo Botón es un tipo de MovieClip especialmente pensado para que el usuario interactúe con él, permitiéndonos diferenciar entre sus estados, y crear una apariencia para cada uno. Cuando nos interese que una imagen que hayamos diseñado se comporte como un botón, bastará convertirla a botón (del modo visto en el capítulo correspondiente) y ya podremos usar los eventos típicos de un botón.
  • 21. Cuando necesitemos crear una película Flash dentro de otra película, pero no queramos tener 2 ficheros separados ni molestarnos en cargar una película u otra, deberemos crear un objeto movieclip. Entre sus propiedades especiales destaca que los objetos "clip de película" tienen, internamente, una línea de tiempos que corre independiente de la línea de tiempos de la película principal de Flash, lo que nos permite crear animaciones tan complejas e independientes como queramos (podemos crear tantos clips de película dentro de otros como queramos, por ejemplo). Realmente, toda nuestra película es un MovieClip.
  • 22. Esta clase engloba a todos los objetos que podemos ver en nuestra película, como los Clips de película y botones, y define las propiedades y métodos comunes para todos ellos.
  • 23. Los objetos sonidos no son visuales, y por tanto, no podremos ver como quedan en los fotogramas, al igual que haríamos con un botón o un clip de película. Deberemos controlarlos, por tanto, desde el Panel Acciones y usando ActionScript. Tienen multitud de métodos especiales, muy potentes y útiles, podemos parar un sonido, crear un bucle, darle efectos sonoros etc... Utilizando el canal de sonido, podremos pararlo, ajustar el volumen, etc. Podríamos, por ejemplo, crear un objeto de tipo sonido y después hacer que al pulsar un botón suene. (Más adelante se verá algún ejemplo de uso de sonidos).
  • 24. El objeto mouse es uno de los objetos de Flash que ya está definido por Flash, pues hace referencia 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 de Windows, tipo de cursos, efectos asociados, detección de su posición etc... Vale la pena insistir en que su manejo no es análogo al de otros objetos como el botón, pues podemos crear tantos botones como queramos y hacer con ellos lo que decidamos, pero el objeto Mouse es único y actúa sobre el ratón del PC del usuario que vea nuestra película. Se puede decir que es un objeto "externo" que permite que otras partes del Sistema Operativo interactúen con nuestra película Flash. Por tanto, es muy potente.
  • 25. Es uno de los múltiples objetos "abstractos" de Flash, ni es visual, ni parece que corresponda a nada existente en el sistema (como el objeto "Mouse"). Su función es muy importante, pues nos permite usar fórmulas matemáticas de modo muy sencillo. En el tema siguiente veremos algún ejemplo de su uso.
  • 26. Es otro objeto peculiar, pues corresponde a un tipo de datos. Los strings o cadenas son secuencias de caracteres. Si definimos una secuencia de caracteres como objeto de tipo String, podremos usar los métodos que Flash implementa sobre ellas: Seleccionar subcadenas de letras, buscar una determinada letra en una palabra, convertir la palabra a letras mayúsculas y un largo etc
  • 27. Los objetos Loader nos permitirán cargar archivos para mostrarlos (imágenes, archivos swf, etc...) en nuestra película, mientras que los objetos URLLoader nos permitirán cargar información de archivos (archivos de texto, XML, páginas web...).
  • 28. Flash CS5 llama acciones a lo referente al código ActionScript, lo que nos permite dar comportamientos a los objetos.  Estas acciones son funciones predefinidas de ActionScript, es decir: Flash CS5 las crea, y nosotros sólo tenemos que usarlas de la manera que se nos indica. No tenemos que definir las funciones ni nada por el estilo, ni siquiera necesitamos saber cómo están hechas... Lo importante es que están listas para usar, lo que facilita el uso de este lenguaje de programación y sobre todo, haga muy rápido comenzar a programar.  Por supuesto, cuando tengamos más conocimientos, veremos que no es difícil completar estas acciones ya creadas con las nuestras propias.  Explicaremos las Acciones más importantes, y a medida que avancemos en el curso, añadiremos algunas 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 todas está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. Estas acciones se emplean, como su nombre indica, para controlar el flujo de nuestra película, esto es, para indicar a Flash en todo momento qué fotograma tiene que mostrar, cuándo tiene que parar, dónde seguir etc...  Estas acciones son métodos de la clase MovieClip. Podemos aplicarlas a cualquier MovieClip de nuestra película, siguiendo el siguiente formato:nombreMovieClip.accion();. Si escribimos la función directamente, es decir, si no indicamos el objeto, estamos haciendo referencia a la película general.
  • 30. gotoAndPlay: Esta acción será, probablemente la que más usemos durante la realización de nuestras películas. La acción que realiza consiste en mover la cabeza lectora al fotograma que le indiquemos. La cabeza lectora es lo que determina qué fotograma de nuestra película se está reproduciendo en cada momento. Si, por ejemplo, lo movemos del fotograma 1 al 25, lo que veremos instantáneamente será el fotograma 25 y la película continuará reproduciéndose a partir de ahí.Sintaxis: gotoAndPlay(escena, fotograma): ◦ escena: Nombre de la escena a la que queremos enviar la cabeza lectora. Debe ir entre comillas dobles. ◦ 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.
  • 31. Ejemplo: miClip.gotoAndPlay("Escena2", 7); → Esta acción lleva la cabeza lectora al fotograma 7 de la escena llamada "Escena2" del MovieClip con el nombre de instanciamiClip.play: Da comienzo a la reproducción de la película o la continúa desde el punto detenido.Sintaxis: play(); No tiene Parámetros.Ejemplo: this.play(); → Inicia la reproducción del objeto actual.stop: Detiene la reproducción de la película. Se puede usar en un fotograma, cuando queramos detenernos en él (porque es un menú, por ejemplo), en un botón, (para que detenga la película), etc..Sintaxis: stop(); No tiene Parámetros.
  • 32. fscommand: Esta acción, es capaz de ejecutar ciertos comandos muy potentes. Lo más cómodo es pasar a Asistente de Script (sino estábamos ya) e insertarla, nos aparecerá una pestaña con los posibles comandos que admite. Sirve para interactuar con la aplicación que reproduce la película, por ejemplo Flash Player o el navegador web, 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 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.
  • 33. 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:Sintaxis: fscommand(comando, [argumentos])comando: E l 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 la pantalla completa.navigateToURL() : Esta acción se emplea para abrir el navegador web e ir a la página i
  • 34. navigateToURL() : Esta acción se emplea para abrir 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 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...).  Estas acciones sirven para controlar la lógica de la película. Se puede decir que nos permiten "hablar" con Flash para indicarle lo que debe hacer ante distintas situaciones. Por ejemplo, ahora que conocemos algunas Acciones, ¿Cómo indicarle a Flash que "si la variable x = 3, entonces vaya al fotograma 5, y si no, vaya al fotograma 10"?. Sabemos comparar, sabemos ir a los fotogramas, pero no sabemos decirle a Flash "Si pasa esto, haz una cosa, y si no, haz la otra...". Veamos cómo decírselo:  if ... else: Si partimos de que la traducción literal de if es "si..." y la de else es "si no ...", nos encontramos de repente con todas las herramientas para decirle a Flash: "si (pasa una condición) {haz esto} si no {haz lo otro}" Veamos antes que nada su sintaxis para comprenderlo mejor: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.
  • 35. Ejemplo: navigateToURL(new URLRequest("http://www.aulaclic.es"), "_blank"); --> Abre la web de aulaClic en una ventana nueva.load(): Este método nos permite cargar nuevas películas Flash o imágenes en nuestra película de forma dinámica (la película se cargará cuando se lo indiquemos, y no antes), en un objeto de la clase Loader, o cargar información en un objeto URLLoader. Para utilizarlo, primero tenemos que crear un objeto de este tipo.Sintaxis: objetoCargador.load(direccion:URLRequest, [contexto]);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 el archivo. cargadorPeli:Loader.load(new URLRequest("archivo.swf"));-> LLamamos al método load() para que cargue el archivo indicado. Nota: Cargamos el archivo en nuestra película, pero no lo mostramos. Para verlo, tenemos que añadir el cargador a la lista de visualización, como ya veremos, por ejemplo conaddChild(cargadorPeli);. Acciones - Condiciones
  • 36. 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...  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 la variable x vale 2, entonces saltamos al fotograma 6 de miClip, si no, no hacemos nada.  if (y > 7) { stop(); } else {gotoAndPlay(1); } --> si la variable y es mayor que 7, paramos la película, sino, volvemos al fotograma 1. 
  • 37. Los Métodos y Propiedades suelen ser específicos de cada objeto, y su estudio requeriría un nuevo curso completo, (recomendamos consultar la ayuda incorporada en el Flash CS5 cuando surjan dudas), pero hay bastantes propiedades de los objetos que son comunes a muchos de ellos. Vamos a ver las más utilizadas, que afectan a los objetos de visualización, que son con los que trabajaremos habitualmente.  Hay que entender que las clases se heredan. Es decir, una clase genérica, tiene subclases más concretas. Las sublaceses, tienen todos los métodos y propiedades de la clase de la que heredan, y además agregan sus propios métodos y funciones.
  • 38. alphaHace referencia a la opacidad del objeto al que afecte. La opacidad se puede definir como la no-transparencia. De modo que un 100% de transparencia equivale a un 0 de opacidad, o a un 0 de alpha. heightDevuelve o establece la altura del objeto en píxeles. Por ejemplo, si tenemos un clip de película llamado "Clip1" y escribimos "Clip1.height" obtendremos la altura de Clip1. Del mismo modo, podemos cambiarla sin más que hacer: Clip1.height = 100; (la altura del Clip1 pasaría a ser de 100 píxeles) widthPropiedad idéntica a la anterior, pero devuelve o establece la anchura.
  • 39. . visibleDetermina si el objeto está o no visible en nuestra película. Cuando vale 1 o True, lo está, cuando vale 0 o False, pasa a ser invisible. Es muy útil para hacer desaparecer partes de una película en un momento determinado. Por ejemplo, si queremos que al pulsar un botón desaparezca el clip de película llamado "Clip2", haremos esto: .... ... Clip2.visible = 0; ... .... xCon esta propiedad obtenemos o establecemos las coordenadas del objeto respecto del eje de las X (horizontal). Sirve para averiguar la posición o para asignarla de forma dinámica (durante la ejecución de nuestra película Flash) yCon esta propiedad obtenemos las coordenadas del objeto respecto del eje de las Y (vertical). Sirve para averiguar la posición o para asignarla de forma dinámica (durante la ejecución de nuestra película Flash). rotationCon esta propiedad obtenemos o establecemos el giro del objeto, su rotación, expresado en grados. nameCon esta propiedad obtenemos o establecemos el nombre de la instancia.
  • 40. Vamos a mostrar los usos más característicos de código ActionScript en los diferentes objetos existentes en Flash CS5. De este modo lo comprenderemos mejor y porqué no, nos ahorraremos trabajo al tener ya hechos aquí muchos de los códigos que usaremos en nuestras películas. Mostraremos el código y a continuación, una explicación del mismo.  Algunas cosas que debemos de tener en cuenta si estamos familiarizados con la programación en ActionScript 2, es que con ActionScript 3.0 no podemos utilizar:  alert()  La forma de tratar eventos, como on (event){}, onClipEvent(event){}, object.onEvent = 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.  Guiones bajos ( _ ) antes del nombre de las propiedades.  Variables globales (_global).  _root y _parent para acceder a elementos superiores. 
  • 41. Los Botones (objeto Button para Flash CS5) tienen mucha utilidad siempre que queramos que nuestra película interactúe con el usuario. Dado que esto va a ser prácticamente siempre, es conveniente estudiar y entender bien algunos códigos típicos que tendremos que usar para conseguir nuestros propósitos.  En realidad, los botones se comportan como cualquier símbolo. A todos les podemos aplicar eventos, ya que lo que hacemos es asociarlos normalmente al clic del ratón. Los botones tienen la ventaja de que nos permiten representar distintos estados, mejorando la percepción de interactividad.
  • 42. Las primeras líneas son las comentadas anteriormente.  Partimos de una película con 2 fotogramas distintos.  En el primer fotograma están el botón y el clip de película (r1) correspondientes. El clip de película tiene en su línea de tiempos una animación, inicialmente detenida. Veamos que pasa si se accede a su fotograma 2.  En el segundo fotograma no nos importa lo que haya porque la acción situada a la izquierda no nos llevará hasta allí. La cabeza lectora de la película principal es independiente.
  • 43. ?  1  2  3  // Código 2   canal.stop();  Este código detiene el sonido que se esté reproduciendo por el canal de sonido canal.  ?  1  2  3  4  // Código 3   canal.stop();  canal = musica.play(0,99);  La primera línea detiene el sonido, como hemos visto antes.  La segunda, provoca que el sonido musica comience a reproducirse (play) a partir de su posición inicial (el 0 indica los segundos transcurridos desde el comienzo) y lo haga 99 veces (esto se llama loop o bucle). Si ponemos sólo musica.play();, se reproducirá desde el principio y sólo una vez, como vemos en el siguiente código:  ?  1  2  3  4  // Código 4   canal.stop();  canal = musica.play();  Ahora que ya sabemos controlar los sonidos mediante ActionScript, veamos un ejemplo que reúne todo lo visto anteriormente.
  • 44. Aunque la idea de objeto no suele llevarnos a pensar en un sonido, en Flash CS5 los sonidos también son objetos y podemos manejarlos usando adecuadamente ActionScript. Veamos unos cuantos códigos muy comunes y un completo ejemplo de cómo usarlos:  ?  1  2  3  4  5  //Código 1   var req:URLRequest = new URLRequest("sonido.mp3");  var musica:Sound = new Sound(req);  var canal:SoundChannel = new SoundChannel();  sonido.mp3 es el nombre del archivo de sonido que se va a cargar, seria aquí donde deberíamos sustituir éste y poner el nombre del sonido que queramos nosotros, y deberá encontrarse en el mismo directorio que se encuentre el archivo Flash que estamos creando, o indicar la ruta completa.  En musica, que es un objeto Sound, almacenamos el sonido. Para controlarlo, utilizaremos canal, un objeto SoundChanel.
  • 45. canal.stop();  canal = musica.play();  Ahora que ya sabemos controlar los sonidos mediante ActionScript, veamos un ejemplo que reúne todo lo visto anteriormente.
  • 46. 1  2  3  // Código 2   canal.stop();  Este código detiene el sonido que se esté reproduciendo por el canal de sonido canal.  ?  1  2  3  4  // Código 3   canal.stop();  canal = musica.play(0,99);  La primera línea detiene el sonido, como hemos visto antes.  La segunda, provoca que el sonido musica comience a reproducirse (play) a partir de su posición inicial (el 0 indica los segundos transcurridos desde el comienzo) y lo haga 99 veces (esto se llama loop o bucle). Si ponemos sólo musica.play();, se reproducirá desde el principio y sólo una vez, como vemos en el siguiente código: