Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Internet > Flash > Introducción a ActionScript
-Tutoriales

Introducción a ActionScript

Autor: Ciberaula

Sentencias

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.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network