Inicio Atrás Adelante

Variables y control de flujo en Flash

Una variable es un contenedor de información que, como su nombre indica, puede variar durante la ejecución de la película.

Una variable puede contener valores numéricos o de cadena (letras). Sobre las variables podemos efectuar operaciones de dos tipos:

Operaciones aritméticas. Por ejemplo, sumar o restar un número al valor contenido por la variable.
Evaluaciones del contenido de estas variables. Por ejemplo, comprobar si el valor de la variable es un número determinado o no, y según el resultado, ejecutar unas acciones u otras.

En Flash no hay que hacer una declaración explícita de las variables. Se pueden utilizar directamente en el editor de acciones. Podemos cambiar su valor utilizando Set Variable.

Escogiendo el comando Set Variable que encontramos en el panel Actions ('Accciones'), dentro del grupo llamado también Actions, rellenamos los parámetros Variable ('Variable') y Value ('valor') con var_uno y 5 respectivamente, vemos que se construye la orden

var_uno = 5;

Esta orden establece el valor 5 como el contenido de la variable var_uno.

var_dos = var_uno + 5;

establece el valor de la variable var_dos en el valor de la variable var_uno más el valor 5.

Las variables se pueden manipular mediante operadores aritméticos, operadores de evaluación y funciones aritméticas y generales incorporados por Flash. Podemos acceder a estos operadores y funciones desde el mismo panel Actions ('Acciones').


Contenido complementario

Una sentencia de control de flujo es una estructura predeterminada que nos permite realizar una acción u otra según la evaluación de una variable (sentencia condicional), o bien, repetir una acción un número determinado de veces, indicado por una variable de control (sentencia iterativa).

Las instrucciones que dependen de una misma sentencia se agrupan entre llaves.


Ejemplos

En ActionScript, el lenguaje de programación de Flash, la estructura If ('Condición') Else es la típica de las sentencias condicionales, mientras que, para las sentencias iterativas, podemos utilizar la estructura While ('Condición') o For (valor inicial; condición; incremento) para las sentencias iterativas.

Un ejemplo: programación de un precargador

En ocasiones las películas Flash son tan complejas o contienen elementos tan grandes (por ejemplo, imágenes de mapa de bits) que el usuario tiene que esperar hasta que se descarga en su ordenador y puede comenzar a interaccionar con la misma. Estos tiempos de espera, si son largos, pueden hacer que el usuario pierda la paciencia y abandone nuestra película.

Este problema se puede evitar en parte programando un precargador. Un precargador es una pequeña animación que se carga muy rápidamente y que entretiene al usuario mientras se carga el resto de la película. Los precargadores suelen informar al usuario de que hay un proceso en segundo plano que se está realizando, no le dejan solo ante una pantalla vacía.

Podemos programar un precargador combinando la sentencia condicional IfFrameLoaded con la sentencia gotoAndPlay. El código típico es el siguiente:


Acciones asociadas al fotograma 1
ifFrameLoaded (100) {
    gotoAndPlay (25);
}

Acciones asociadas al Fotograma 24
gotoAndPlay(1);

La sentencia ifFrameLoaded (x) proporciona un valor verdadero cuando el fotograma x ya ha sido cargado, y falso cuando el fotograma x aún no ha sido cargado.

En nuestro caso, si el fotograma 100 todavía no ha sido cargado, la película seguiría su ejecución normal por el fotograma 2. Si el fotograma 100 ya ha sido cargado, la película saltaría al fotograma 25.

Entre el fotograma 2 y el 24 podríamos programar una animación sencilla que informase al usuario de que la película está siendo cargada. Esta animación finalizaría en el fotograma 24, donde volvemos al inicio, y nuevamente se verifica si el fotograma 100 ya ha sido cargado mientras tanto o no.

Inicio Atrás Adelante

Arriba