Introducción a ActionScript

En este curso llamamos sentencias a lo que tradicionalmente en Flash se ven�a llamando acciones. Las sentencias ordenan a una pel�cula las acciones que debe realizar durante su reproducci�n.

Las sentencias pueden actuar individualmente:

gotoAndStop (35);

O anidarse unas dentro de otras para actuar conjuntamente:

with (color) {
gotoAndStop (35);
} 

En AS tenemos dos tipos de sentencias: Condicionales y bucles (loops)

En casi todos los programas, utilizamos condicionales para a�adir l�gica a nuestros programas y bucles para realizar tareas repetitivas.

.�Condicionales

Uno de los aspectos gratificantes de Flash es crear pel�culas inteligentes. Con inteligente queremos decir: Suponga una ni�a llamada Alicia a la que no le gusta mojarse la ropa. Antes de salir de su casa cada ma�ana, Alicia mira por la ventana para comprobar el tiempo y, si est� lloviendo, coger un paraguas. Alicia es inteligente. Utiliza la l�gica para ver una serie de opciones y construir una decisi�n sobre lo que hacer basada en las circunstancias. Nosotros utilizaremos la misma l�gica b�sica cuando creemos pel�culas interactivas en flash.

Ejemplos de l�gica en una pel�cula flash:

  • Suponga que tenemos tres secciones en una pel�cula. Cuando un usuario va a cada secci�n, utilizamos la l�gica para decidir si mostrarle la introducci�n de dicha secci�n. Si ha estado antes en la secci�n, saltaremos la introducci�n. En caso contrario, ense�aremos la introducci�n.
  • Suponga que tenemos una secci�n de una pel�cula restringida. Para entrar en la zona restringida, el usuario debe entrar una contrase�a. Si el usuario entra la contrase�a correcta, le ense�aremos el contenido restringido. En caso contrario, no.
  • Suponga que estamos moviendo una pelota a trav�s de la pantalla y queremos que rebote en un muro. Si la pelota cruza cierto punto, cambiaremos la direcci�n de la pelota. En caso contrario, dejaremos que la pelota contin�e viajando en su direcci�n.

Estos ejemplos de l�gica requieren el uso de un especial tipo de sentencias llamado condicional. Las condicionales nos permiten especificar los t�rminos bajo los que una secci�n de c�digo deber�a o no ser ejecutado.

Ejemplo de sentencia condicional

if (userName == "James Bond") {
trace ("Bienvenido a mi website, 007");
}

la estructura gen�rica de una condicional es:

if (condicion) {
sentencias
}

Una condicional permite a Flash crear decisiones l�gicas.

.�Repitiendo tareas (bucles)

No solo queremos que las pel�culas tomen decisiones, tambi�n queremos que hagan tareas tediosas y repetitivas por nosotros. Suponga que quiere visualizar una secuencia de cinco n�mero en la pantalla de salida y quiere que la secuencia empiece en cualquier n�mero. Si el n�mero para empezar es 10, puede mostrar la siguiente secuencia:

trace(10);
trace(11);
trace(12);
trace(13);
trace(14);

Pero si quiere que empiece en la secuencia 513, tendr� que repetir todos los n�meros:

trace(513);
trace(514);
trace(515);
trace(516);
trace(517);

Podemos evitar la repetici�n haciendo que la sentencia trace dependa de una variable, tal que as�:

var x = 1;
trace(x);
x = x +1;
x = x +1;
x = x +1;
x = x +1;
x = x +1;

Esto facilita la tarea, porque si queremos cambiar el n�mero, basta con cambiar el valor de x. Como el resto de c�digo se basa en el valor de x, al funcionar el programa cambiar� la secuencia entera. Esto resulta una mejora respecto a la situaci�n anterior y funciona bien, pero se hace in�til si queremos contar hasta 500. Para realizar tareas muy repetitivas utilizamos una sentencia bucle que haga que un bloque de c�digo se repita un n�mero arbitrario de veces.

Hay muchos tipos de bucles, cada uno con su propia sintaxis. Uno de los m�s comunes es el bucle while. Nuestro ejemplo puede verse como un ejemplo de bucle de una serie de instrucciones que se repiten:

var x = 1;
while (x<=5) {
   trace(x);
   x = x +1;
}

La palabra clave while indica que queremos empezar un bucle. La expresi�n (x <= 5) indica las veces que el bucle debe repetirse y las sentencias del bloque, son lo que se ejecuta en cada repetici�n del bucle.

Como las condicionales, los bucles son uno de los tipos de sentencias m�s utilizados en programaci�n.

.�La sentencia var

Se utiliza para declarar variables.

Sintaxis

var variable1 [= valor1] [...variableN [= valorN];

Argumentos

variableN: El valor de la variable a declarar

valorN: El valor que se asigna a la variable

Comentario

Aunque se puede declarar variables en cualquier lugar y sin la palabra clave var, es muy interesante acostumbrase a declarar todas las variables en el primer fotograma de la pel�cula (despu�s del preload) o por lo menos, utilizar var, para identificar r�pidamente las variables.

Ejemplos

var x;
var x, y, z;
var x = "texto";

.�La sentencia set (set Variable)

Sirve para asignar un valor a una variable.

Sintaxis

set (variable.expresion);

Argumentos

variable: Cualquier variable.

expresion: cualquier valor que se le asigna a la variable.

Comentario

El valor almacenado en una variable puede cambiar y podemos utilizar la sentencia set para asignar el valor a la variable.

Ejemplo

Podemos escribir igualmente:

x = "texto";
que 
set (x, "texto");

.�La sentencia function

Define un bloque de sentencias que ejecuta unas tareas determinadas.

Sintaxis

function nombreFuncion (argumento0,...,argumentoN) {
   sentencias
}

Argumentos

nombreFuncion: Cualquier nombre.

argumentoN: cero o m�s valores para pasar a la funci�n. Estos valores pueden ser recogidos por las sentencias para su posterior manipulaci�n.

Comentarios

Para devolver un valor, utilice return dentro de una funci�n.

Ejemplos

Sin return, recogiendo el resultado en una variable, por ejemplo:

function areaTriangulo(base,altura)  {
      area = (base*altura)/2;
} 

Con return, devolviendo el valor a la llamada de la funci�n:

function areaTriangulo(base,altura)  {
      area = (base*altura)/2;
} 

.�La sentencia call

Incorpora al c�digo actual el script que contiene el fotograma al que se llama.

Sintaxis

call(fotograma);

Argumentos

fotograma: Cualquier nombre o n�mero de fotograma.

Comentario

Puede llamar a funciones para que se ejecuten y devuelvan valores.

.�La sentencia with

Cambia temporalmente la ruta de destino utilizada para evaluar expresiones. Activa la l�nea de tiempo del objeto que contiene entre par�ntesis.

Sintaxis

with (objeto) {
   sentencias
}

Argumentos

objeto: Cualquier objeto o clip de pel�cula.

Sentencias: Bloque de instrucciones que se ejecutar�n en la l�nea de tiempo del objeto.

Comentarios

Esta sentencia sustituye al popular tellTarget de flash4.

Ejemplo

Establecer la propiedad visible a true en un clip de pel�cula llamado clip3 y mover la pel�cula hasta el fotograma 50 de su l�nea de tiempo:

with (clip3) {
   _visible = true;
  gotoAndPlay(50);
}

Esto mismo se puede hacer con el punto:

clip3._visible = true;
clip3.gotoAndPlay(50);
O con tellTarget:
tellTarget ("clip3") {
   _visible = true;
   gotoAndPlay(50);
}

Acceder a dos l�neas de tiempo secundarias, dentro de un clip principal:

with (clip3) {
   with (boton31) {
      _visible = true;
   }
   with (boton32) {
      _visible = false;
   } 

.�La sentencia ifFrameLoaded

Esta sentencia comprueba si el contenido de un fotograma est� disponible localmente.

Sintaxis

ifFrameLoaded (escena, fotograma) {
sentencias
}

Argumentos

escena: Cualquier n�mero o nombre de escena.

fotograma: El n�mero o nombre de fotograma que se va a controlar.

Comentario

Se utiliza para reproducir una pel�cula sencilla mientras se descarga el grueso de la pel�cula.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR