unidad 17. Nivel Básico. Conceptos Iniciales de Programación |
Introducción a la Programación con ActionScript |
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...
function IncrementaX(x) { 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.
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 MX 2004 se encarga de todo. Nos basta con conocer las acciones y saber cómo usarlas.
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.
- 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 "."
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...
|
Aviso legal: Uso off-line autorizado a alumnos de aulaClic exclusivamente. No está permitido utilizar estos cursos en empresas, academias o centros de enseñanza privados.
|
© aulaClic S.L.Todos los derechos reservados. Prohibida la reproducción por cualquier medio.
Abril-2004. |