1. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
4.2-Introducción a la
Programación con
ActionScript
Si bien hemos catalogado este tema como
"básico", la palabra adecuada sería
"necesario" .pues si bien el objetivo de este
tema NO es enseñar programación, no
podemos pasar por alto que ciertos
conceptos relacionados con ella deben
conocerse para poder llegar a entender el
ActionScript. Vamos pues a explicar algunos
conceptos fundamentales, necesarios para
abordar la programación mediante
ActionScript.
Script: Código escrito en cualquier lenguaje
de programación que realiza una tarea
determinada. Así por ejemplo, el código
ActionScript necesario para que al pulsar un
botón de Flash pasemos al fotograma
siguiente es un script.
Variable: Vamos a explicar la
interpretación del término variable en
programación mediante un ejemplo sencillo.
Si tenemos la expresión: x = 3;
Tenemos que x es una variable que toma el
valor 3. Se llama variable precisamente
porque puede cambiar de valor en cualquier
momento durante la ejecución de nuestra
2. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
película Flash. Todos los datos que se
manejan normalmente son variables (salvo
aquellos constantes, por ejemplo el número
3). Así, en un formulario, el nombre es una
variable (de tipo cadena de caracteres o
string), el apellido también, la dirección, el
teléfono etc...
Expresión / Sentencia: Conjunto de
operadores, constantes, variables o acciones.
Provocan un resultado o una acción
determinada y SIEMPRE deben ir terminados
por ' ; ' (punto y coma).
Función: Una función es una porción de
código (ActionScript en nuestro caso) que
tiene un nombre determinado y que realiza
una labor concreta. Ejemplo, la siguiente
definición de función:
function IncrementaX(x) {
x = x + 1;
}
Realiza la función de tomar la variable "x" y
sumarle uno a su valor. Si quisiéramos
ejecutarla en algún lugar de nuestra película,
bastaría con escribir: "IncrementaX(x)",
siempre y cuando la definición de la función
(que es el código mostrado arriba) esté en
cualquier parte de la película que se ejecute
ANTES que la llamada a la función.
3. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
Acción: Flash llama Acción a funciones que
él mismo ha implementado y que no
requieren ser definidas para ser usadas. Basta
por tanto, con escribir la llamada a la función.
Estas acciones son lo que usaremos la
mayoría de las veces, pues resultan
sumamente fáciles de usar y muy potentes.
Las acciones aparecen en el Panel Acciones
y se pueden insertar en nuestro código con
un simple clic de ratón.
Por ejemplo "gotoAndPlay(3)" es una acción
que provoca que Flash pase a ejecutar el
fotograma 3.
Ahora que entendemos qué son las
funciones, deberemos comprender también,
que en alguna parte, Flash ha definido la
función "gotoAndPlay" (tal y como hemos
hecho nosotros anteriormente con la función
"IncrementaX") y ha escrito un código que
provoca el efecto ya comentado. Por suerte
todo esto no nos debe preocupar, Flash 8 se
encarga de todo. Nos basta con conocer las
acciones y saber cómo usarlas.
Parámetro: Un parámetro es una variable
que entra o sale de una acción o de una
función. Ponemos un ejemplo para clarificar
esta definición:
Tenemos la siguiente definición de función:
4. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
function Suma5(p_entrada, p_salida) {
p_salida = p_entrada + 5;
}
Imaginemos que tenemos una variable x
que vale 7 y otra variable y que queremos
que valga 7 + 5. Ejecutaríamos la función
"Suma5" del siguiente modo: Suma5( x , y ).
Vamos a ver qué hace exactamente la
función con los parámetros x e y.
Al ejecutar "Suma5( x , y)", Flash busca
definiciones de funciones que se llamen
Suma5, enseguida encontrará la definición
que hemos escrito arriba, (que deberá estar
escrita en alguna parte de nuestra película
ANTES de ejecutar "Suma5( x, y )"). Cuando lo
hace, comprueba que la función que
ejecutamos COINCIDE con la cabecera de la
definición, esta cabecera abarca el nombre
de la función y todo lo que venga a
continuación hasta que se cierre el paréntesis.
En nuestro caso, la cabecera sería
"Suma5(p_entrada, p_salida)"
Aquí viene la pregunta inminente,
¿Coinciden?. La respuesta es SÍ, para que
5. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
coincidan DEBE coincidir el NOMBRE de la
función y el número de parámetros, que serán
variables o valores separados por comas.
Como tenemos 2 parámetros en cada parte,
todo coincide y pasa a ejecutarse la función.
La función ejecutada es "Suma(x , y)", por lo
que lo que en realidad se ejecutará será:
function Suma5(x, y) {
y = x + 5;
}
Tras ejecutarse esta función, y valdrá lo que
valiese x mas 5. Es lo que queríamos.
La variable 'x' ha actuado como parámetro
de entrada, pues aporta un dato a la función,
el valor 'y' comienza entrando en la función,
pero es un parámetro de salida porque ha
sido modificado DENTRO de la función.
Programación Orientada a Objetos (POO):
ActionScript es un lenguaje orientado a
objetos, esto quiere decir que la información
se organiza en grupos denominados clases.
Cuando queremos emplear una clase en
nuestra película, usamos una instancia de
ella, denominada OBJETO. Los objetos, y por
6. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
tanto, las clases, tiene Propiedades
(características) y Métodos
(comportamientos). Pongamos 2 ejemplos
para clarificar esto:
- El objeto Persona tiene:
- Propiedades: Nombre, edad, altura ...
- Comportamientos: hablar, correr, saltar ...
- El objeto Clip de Película tiene:
- Propiedades: color, anchura, altura ...
- Comportamientos: gotoAndPlay, Stop, Play,
LoadMovie ...
Evidentemente el primer objeto es
meramente didáctico, el segundo objeto es
un objeto de Flash (salvo que las propieades
están definidas en inglés), y probablemente el
más importante...
Los objetos los podemos encontrar también
en el Panel Acciones, su uso es sencillo.
Veamos un ejemplo:
Tenemos el objeto Clip1, que es una
instancia de la Clase MovieClip y por tanto,
tiene sus mismas Propiedades y Métodos.
- Clip1._height = 20;
7. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
Con la línea anterior, estamos diciendo a
Flash que el objeto Clip1 tiene una altura de
20 (inmediatamente Flash la modificará en el
fotograma en el que se encuentre). La sintaxis
de Flash establece que debe existir el
separador "._" , no vale la pena entrar a
describir el porqué. Siempre será así, no lo
olvidemos.
- Clip1.Play();
Esta acción ejecutará el método Play, que
pertenece a los Clips de Película, provocará
que se comience a ejecutar la línea de
tiempos del Clip1. Nótese que aquí no hay "_"
como separador, sólo un "."
Ya conocemos los conceptos "básicos" de
Flash 8. Si pensamos en que, con sólo 1 línea
podemos modificar la altura de un objeto de
nuestra película DURANTE LA EJECUCIÓN DE
LA MISMA (y no mientras la creábamos como
hasta ahora), podremos hacernos una idea
de lo que nos permitirá el ActionScript...
Podremos dar vida a nuestras animaciones y
conseguir una interactividad total con el
usuario. Podremos conseguir una película
completamente multimedia.
El conocimiento y comprensión de estos
8. JACQUELINE ESPINOZA ALPIREZ 3º “B” INFORMATICA
conceptos no es un requisito para comenzar
a programar con ActionScript, programar por
intuición es una práctica muy común en este
tipo de lenguajes. En este curso
recomendamos saber lo que se está
haciendo en todo momento y conocer bien
qué es cada cosa, y pensamos que hacer un
esfuerzo inicial nos gratificará
constantemente durante nuestro aprendizaje
de ActionScript, pues con todo lo anterior
claro y un poco de trabajo, pronto
pasaremos a ser programadores expertos y
en ese momento la intuición deja de ser útil...