Unidad 23. Animaciones avanzadas (III)



23.2. Función setInterval y el evento ENTER_FRAME

La función setInterval se utiliza cuando queremos que se repita la ejecución de un código ActionScript cada cierto número de milisegundos, y el evento ENTER_FRAME ("enterFrame") se utiliza cuando queremos ejecutar un código ActionScript en función de la velocidad de la película Flash.

Estas funciones se pueden utilizar para controlar el tiempo cuando utilizamos ActionScript y no nos interesa utilizar los fotogramas como forma de control del tiempo.

Por ejemplo, podemos generar un objeto y hacer que se mueva 5 pixels cada 30 ms. variando estos parámetros conseguiremos que el objeto se mueva más o menos rápido.

bola naranja setInterval

El formato de esta función es el siguiente:

var retardo:Number = setInterval(queFuncion:Function, intervalo:Number, [param1:Object, param2, ..., paramN]);

Donde,

  • queFuncion es la función que se va a repetir.
  • intervalo es el número de milisegundos que van a transcurrir entre cada llamada a la función.
  • [param1:Object, param2, ..., paramN] es la lista opcional de parámetros que se pasan a la función indicada en queFuncion.
  • retardo es una variable que identifica el intervalo y que nos permite emplear clearInterval() para detener la ejecución.

Por ejemplo, el código siguiente escribe 10 veces el mensaje "contador" i, cada 2000 milisegundos (2 sg.).

 var i:Number = 1;
 var repeticion:Number = setInterval(contar, 2000);
 function contar() {
     trace("contador: "+ i++);
     if (i>10) {
         clearInterval(repeticion);//Fin de la repetición
     }
 }

La función clearInterval sirve para detener la ejecución de la función llamada desde setInterval. Por lo tanto, conviene utilizar clearInterval siempre que usemos setInterval, para evitar que la ejecución continúe indefinidamente.

En el ejemplo del punto anterior hemos definido la función setInterval para que la función botar se ejecute cada 35 milisegundos.




Marzo-2011
Pág. 23.3

Atrás  Inicio  Adelante




.