2. INTRODUCCIÓN
¿QUÉ ES EL ACTIONSCRIPT?
Es un programa que ha utilizado flash y
nos sirve de mucho para hacer películas y
otras cosas su uso es muy fácil.
3. CARACTERÍSTICAS GENERALES
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. EL PANEL ACCIONES
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 des comentarlo.
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. EL PANEL FRAGMENTOS DE
CÓDIGO
En Flash CS5 se ha creado un nuevo panel para
ayudarnos a generar el código ActionScript: el
panel Fragmentos de código.
10. Pero además accediendo a sus opciones
encontramos opciones muy interesantes:
Lo más destacado es que podemos crear
nuestros propios fragmentos de código, con
instrucciones que usemos habitualmente.
Además podemos exportarlas e importarlas a
otras instalaciones del programa.
11. LOS OPERADORES Y EXPRESIONES
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. OPERADORES ARITMÉTICOS
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 al valor++ equivaldría
++
valor a valor = valor + 1
Decremento. Resta 1 al valor-- equivaldría
--
valor a valor = valor - 1
13. OPERADORES DE ASIGNACIÓN
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 valor variable += 5;
de la derecha. variable vale 8;
variable vale 3;
Resta con asignación. Le
-= variable -= 5;
resta el valor de la 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. OPERADORES DE COMPARACIÓN
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
> Mayor que 6 > 5 da 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. OPERADORES LÓGICOS.
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 si verdadero
&&
los dos valores son verdaderos (6 > 5) && (1==0) devuelve
falso
(6 > 5) || (1==1) devuelve
Or (O) Devuelve verdadero si verdadero
|| alguno de los valores es (6 > 5) || (1==0) devuelve
verdadero verdadero
(6 > 6) || (1==0) devuelve falso
Not (Negado) Devuelve
!(9 > 2) devuelve falso
! verdadero si el valor era falso,
!(9 ==9) devuelve 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 }
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.
17. ORDEN DE PRECEDENCIA
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. OTROS ELEMENTOS DEL LENGUAJE
( ) : 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
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 de Propiedades (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. OBJETO "BUTTON" (BOTÓN)
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. OBJETO "MOVIECLIP" (CLIP DE
PELÍCULA)
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. OBJETO "DISPLAYOBJECT"
(OBJETO DE VISUALIZACIÓN)
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. OBJETO "SOUND" (SONIDO)
Y SOUNDCHANEL (CANAL DE SONIDO)
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. OBJETO "MOUSE" (RATÓN)
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. OBJETO "MATCH" (MATEMÁTICAS)
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. OBJETO "STRING" (CADENA)
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. OBJETO "LOADER"
(CARGADOR) Y OBJETO "URLLOADER"
(CARGADOR DE INFORMACIÓN)
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. LAS ACCIONES - MÉTODOS COMUNES
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.
29. ACCIONES - CONTROL DE
PELÍCULA
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: nombre
MovieClip.accion();. Si escribimos la
función directamente, es decir, si no
indicamos el objeto, estamos haciendo
referencia a la película general.