2. Que es action script
• 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 unSi
buscas información sobre ActionScript 2.0, te recomendamos
el curso de Flash CS3, en el que resolvemos los mismos
ejemplos, pero con AS 2.0.a película FlashComo ya hemos
comentado, el ActionScript es el lenguaje de programación
propio de Flash, tal y como el Lingo lo es de Macromedia
Director, por ejemplo. El ActionScript está basado en la
especificación ECMA-262, al igual que otros lenguajes como
Javascript.
• ActionScript es, como su nombre indica, un lenguaje de script,
esto quiere decir que no hará falta crear un programa completo
para conseguir resultados, normalmente la aplicación de
fragmentos de código ActionScript a los objetos existentes en
nuestras películas nos permiten alcanzar nuestros objetivos.
3. • ActionScript 3 es un lenguaje de programación
orientado a objetos. Tiene similitudes, por
tanto, con lenguajes tales como los usados en
el Microsoft Visual Basic, en el Borland Delphi
etc... y aunque, evidentemente, no tiene la
potencia de estos lenguajes, cada versión se
acerca más. Así, la versión 3.0 utilizada en
Flash CS5 es mucho más potente y mucho más
"orientada a objetos" que su anterior versión
2.0. En la mayor parte de las ocasiones, será
necesario "programar". Flash CS5 pone a
nuestra disposición una biblioteca de
funciones, clases y métodos (de momento
entenderemos esto como "código ActionScript
que realiza una función determinada") ya
implementadas que realizan lo que buscamos,
bastará con colocarlas en el lugar adecuado
4. Panel de acciones
• Debemos tener claro desde un principio que el
Panel Acciones puede hacer referencia a Fotogramas u objetos, de
modo que el código ActionScript introducido afectará tan sólo a
aquello a lo que referencia el Panel. Por ejemplo, en la imagen
inferior, se puede distinguir que el Panel Acciones hace referencia al
Fotograma 1 de la Capa 1 El Panel Acciones se divide en 2 partes, a
la izquierda tenemos una ayuda facilitada por Flash que nos da
acceso de un modo rápido y muy cómodo a todas las
acciones, objetos, propiedades etc... que Flash tiene predefinidos.
Estos elementos están divididos en carpetas, que contienen a su
vez más carpetas clasificando de un modo eficaz todo lo que Flash
pone a nuestra disposición. Para insertarlos en nuestro script
bastará con un doble clic sobre el elemento elegido.
• En la parte derecha tenemos el espacio para colocar nuestro
script, el código de ActionScript. El código lo podemos insertar en
cualquier fotograma clave, aunque lo más "limpio" es crear una
capa para el código.
•
• 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.
• Cuando ya tenemos cierta soltura nos encontraremos más cómodos
con el Asistente de script desactivado, lo que nos permite escribir
directamente el código. Este último modo nos dará más libertad y
agilidad si sabemos qué hacer, pero también es más fácil que
cometamos errores.
• En la parte superior encontramos herramientas que nos
ayudarán. Veamos las más útiles:
5.
6. • 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.
7. • esta posibilidad de comprobar si una expresión
es igual a otra, nos será muy útil para
comprobar muchas cosas durante nuestra
película y en función de ellas, hacer unas cosas
u otras.
• 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í:
Aquí lo que estamos diciendo es lo siguiente: "Si
edad_usuario es menor a 18, entonces damos el
mensaje 1, si no (igual o superior a 18) le
damos el mensaje 2.
8. Orden de
precedencia
• Cuando en una expresión se • ( ) : Paréntesis. Sirven, como es
combinan varios operadores, el de esperar, para agrupar
orden en que se ejecutan puede términos y dar preferencias en
variar el resultado de la las operaciones (al igual que en
expresión, por eso es muy matemáticas). También se usa,
importante saber en qué orden se como ya vimos, para pasar
ejecutarán. El orden no es aleatorio parámetros a funciones o
sino que sigue unas reglas de acciones.
precedencia al igual que en una • " " : Comillas. En ActionScript,
operación matemática. todo lo que va entre comillas,
• Primero se evalúan los operadores pasa a considerarse una cadena
de dentro de los paréntesis. de caracteres. Así por ejemplo,
• Cuando dos operadores están al mientras que x representa una
mismo nivel, unos operadores variable con un valor
tienen preferencia con respecto a determinado, si escribimos "x",
otros, y estos se calculan primero. estamos escribiendo en realidad
En el caso de que tengan la misma el carácter o la letra "x". Por
preferencia, se calcularán de tanto, podremos añadirlo a una
izquierda a derecha. palabra, compararlo con otras
• En la siguiente tabla, vemos el letras, escribirlo por pantalla
orden de precedencia, de mayor a etc.. pero ya no será una
menor, se ejecutan primero los de variable.
mayor orden. • //: 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.
9. Ejemplos de action
scipt
• 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
(evento){}, onClipEvent(event){}, object.onE
vent = 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.
10. • Utiliza la sentencia import • La primera línea y la
para especificar el segunda tienen la misma
nombre completo de la función que en el caso
clase, de modo que el anterior
compilador de • En la tercera línea
ActionScript sepa dónde definimos la función y
podemos ver la
encontrarlo. En este propiedad .width (anchura),
momento queremos vemos que hay un operador
importar la clase de asignación ( = ), luego
MouseEvent, le deducimos que vamos a
especificamos la clase de asignar una anchura
flash que debe importar: determinada a un objeto.
import ¿Qué anchura? Pues
350, que es la cantidad que
flash.events.MouseEvent; aparece en la parte derecha
• La segunda línea de la expresión. ¿Y a qué
indicamos qué tiene que objeto? Al que va delante
suceder (el evento) para del ".", o lo que es lo
que se realice la función mismo, al afectado por la
propiedad.
que indicamos
"funcionAlHacerClick". • Por tanto, al pulsar el botón
vamos a modificar la
• En la tercera línea ya anchura del objeto r1, que
indicamos nuestra función pasará a ser de 350 px.
y dentro escribimos lo que
queremos que pase al hacer clic
en el botón.
11. • Los Clips de Película (objeto MovieClip) son
películas dentro de películas. Pueden tener
código AS dentro de sí mismos, aunque suele
ser más común que algún otro código externo
(situado en fotogramas) les haga referencia.
Para que el código que contengan los clips de
película sea válido, éstos deben tener algún
evento de clip asociado (Load, KeyDown etc)
que determine cuándo se ejecutará este código
(al cargarse el clip, al pulsar alguna tecla ...)
• Esta acción provoca que al pulsar un botón
vayamos al fotograma 2 de un Clip de Película
determinado. El fotograma de la película
principal no variará.
•
12. Navegación action
script
• Esta unidad, la de Navegación, está
especialmente orientada a la web, pues veremos
cómo crear elementos que te ayudarán más tarde
a crear tus propias presentaciones, secciones,
etc. Todo ello apoyado con animaciones y
vinculadas entre sí.
• Los botones: Uno de los elementos que más nos
van a ayudar a la hora de añadir interactividad en
el diseño son los botones.
• En el ejemplo nos hemos ayudado de los botones
para crear la navegación entre las diferentes
secciones. Para asignarle una acción a un botón
es necesario darle un nombre de instancia. Para
ello (y como hemos visto en unidades anteriores)
escribimos el nombre que queramos (al cual nos
referiremos más tarde para llamar al botón) en
el Inspector de Propiedades, en este caso lo
hemos llamado equipo.
13. • MouseEvent.CLICK: ejecuta la acción al hacer clic con el
ratón..
• 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úsculas y
minúsculas, por lo que si escribes, por
ejemplo, mouse_up no será reconocido.
• Para capturar el evento tenemos que añadir
un escuchador que se encargue de estar pendiente de si
sucede ese evento, al elemento correspondiente. En
nuestro caso, al botón. Además del evento, debemos de
indicar el nombre de una función, que será el código que se
ejecute al producirse el evento