SetIntervar : como hacer que a determinado tiempo suceda algo?


SetInterval es una funcion de As2 que permite ejecutar una funcion cualquiera a determinado TIEMPO. Cuando decimos tiempo, hablamos de milisegundos y no de una linea de tiempo. Voy a dejar el codigo copiado y paso a explicarlo, es muy facil y muy util.

 

var intervalId:Number;
var duration:Number = 2000;

function executeCallback():Void {

trace(“Tiempoooo!!”);

}

intervalId = setInterval(this, “executeCallback”, duration);
//clearInterval(intervalId);

 

Explicacion…

Las 2 primeras lineas, son las declaraciones de 2 variables de tipo Numericas. La primera es para darle un ID al intervalo ya que podemos tener N cantidad de intervalos y la 2da variable es el tiempo en milisegundos en que se va a ejecutar una funcion.

Luego armamos una funcion cualquiera, es la funcion que nosotros queremos que se EJECUTE luego de determinado tiempo, en este caso el tiempo son 2000 milisegundos, que es el valor de la variable “duracion” (linea 2).

la funcion que he creado para ser ejecutada en 2000 milisegundos es una funcion simple que lo unico que hace es enviar un TRACE que dice “tiempo” , sin embargo alli podriamos escribir cualquier cosa… algo cambie de color, que se ejecute un FOR o que se le ELIMINA un MovieClip, que comience un video, simplemente CUALQUIER COSA.

Por ultimo nos quedan las 2 ultimas lineas de codigo. La prima de ellas es  –> intervalID = setInterval (this, “executeCallBack”, duration);  la funcion SetInterval necesita de 3 parametros, el primero es “donde” ejecutarlo… , el segundo es el nombre de la funcion (se escribe entre comillas) y el 3er parametro es el tiempo que tarda en ejecutar la funcion. en nuestro ejemplo en lugar de escribir explicitamente el numero en milisegundos, usamos la variable “duracion” para evitar hardcodear el tiempo, pero tranquilamente podria haberlo escrito asi: setInterval (this, “nombreFuncion”, 2000);

por ultimo es muy importante aclarar que el set internval se seguira ejecutando cada “x” tiempo  (2000 en nuestro ejemplo) hasta que algo ELIMINE el intervalo… para esta funcion utilizamos : clearInterval(intervalId);

esto signigfica que cuando nosotros querramos terminar de ejecutar la funcion que se repite cada 2000 milisegundos, solamente le tenemos que pasar clearInterval () y entre parentesis el nombre del intervalo , en nuestro ejemplo: intervalId.

 

😉 cualquier duda, molesten.

 

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: