|
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 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.
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:
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 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 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;
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 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...
|