Foros del Web » Creando para Internet » Flash y Actionscript »

Llamar a una función despues de X tiempo.

Estas en el tema de Llamar a una función despues de X tiempo. en el foro de Flash y Actionscript en Foros del Web. Hola Buenos días !!! Verán, tengo un botón, que al pulsarlo, tiene que ejecutar una función e inmediatamente despues tengo que desactivarlo durante X segundos ...
  #1 (permalink)  
Antiguo 10/02/2005, 06:25
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Llamar a una función despues de X tiempo.

Hola Buenos días !!!

Verán, tengo un botón, que al pulsarlo, tiene que ejecutar una función e inmediatamente despues tengo que desactivarlo durante X segundos y despues volverlo a activar.


Probe con setInterval de la siguiente Manera:

******************************
En El Frame:

function Desactivar(objDesactivar){
eval("_root.cplcontenedorscroll."+objDesactivar).e nabled=false;
setInterval(Activar, 1500, objDesactivar);
}

function Activar(objActivar){
eval("_root.cplcontenedorscroll."+objActivar).enab led=true;
}

******
on(release){
MiFuncion();
Desactivar(btnBoton);
}


Funciona, pero, la cuestión es que despues está continuamente ejecutando el setInterval y entonces dependiendo de CUANDO se pulse, funcionará antes o despues y solo quiero que se ejecute una vez.

¿Hay alguna forma de ejecutar una función con setInterval, pero solo una vez? ¿O como podría ejecutar una función pasado X segundos?

Lo que necesito es:
1-. Pulso el botón
2-. Ejecuto una función.
3-. Mientras se ejecuta la función anterior, el botón estará desactivado.
4-. Activar el botón despues de X segundos.

Pensé en activar el botón poniendo el código al final de la Función del punto 2-. pero por motivos que no vienen al caso no puede ir ahi.

¿Alguien puede hecharme un cable?

Desde ya, muchas gracias.
__________________
Charlie.
  #2 (permalink)  
Antiguo 10/02/2005, 10:09
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
ClearInterval

Código:
function Desactivar(objDesactivar) {
	eval("_root.cplcontenedorscroll."+objDesactivar).enabled = false;
	wait = setInterval(Activar, 1500, objDesactivar);
}
function Activar(objActivar) {
	clearInterval(wait);
	eval("_root.cplcontenedorscroll."+objActivar).enabled = true;
}
Saludos!!
  #3 (permalink)  
Antiguo 10/02/2005, 10:12
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.427
Antigüedad: 14 años, 6 meses
Puntos: 7
Ok, gracias.

Me imagino que la variable wait tendrá que ser global, para poder trabajar en las dos funciones, ¿Verdad?
__________________
Charlie.
  #4 (permalink)  
Antiguo 10/02/2005, 10:21
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
no.

La variable esta disponible en todo el Script.

Ejemplo

Código:
function uno() {
	var local = "Yo soy una variable Local";
	global = "Yo estoy disponible siempre";
	trace(local);
	dos();
}
function dos() {
	trace(local) //Undefined;
	trace(global);
}
uno()
cuando usamos var al definir una variable dentro de una funcion, dicha variable sera eliminada al terminarse de ejecutar la funcion, en cambio si declaramos la variable normalmente, sin el var, la variable estara disponible en otras funciones...

Saludos!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:03.