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

Pausar temporalmente bucle FOR

Estas en el tema de Pausar temporalmente bucle FOR en el foro de Flash y Actionscript en Foros del Web. Buenas amigos, alguien sabe como hago para pausar durante unos segundos un bucle FOR ??????????? for(var $i=1; $i<=6; $i++){ miFuncion($i); PAUSA DE 5 SEGUNDOS CONTINUAR ...
  #1 (permalink)  
Antiguo 24/08/2006, 10:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 14 años, 1 mes
Puntos: 0
Pausar temporalmente bucle FOR

Buenas amigos, alguien sabe como hago para pausar durante unos segundos
un bucle FOR ???????????

for(var $i=1; $i<=6; $i++){

miFuncion($i);

PAUSA DE 5 SEGUNDOS

CONTINUAR EJECUTANDO EL BUCLE

};

gracias!
  #2 (permalink)  
Antiguo 24/08/2006, 10:28
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 14 años, 1 mes
Puntos: 0
(Probé con setInterval pero no funciona...)
  #3 (permalink)  
Antiguo 24/08/2006, 12:08
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 11 años, 3 meses
Puntos: 0
La verdad no creo que puedas detener la ejecucion, y peor si ingresas un loop te va a freezar todo en el flahs, seria mejor que expliques el caso para ver cual es la alternativa que debes usar.
  #4 (permalink)  
Antiguo 24/08/2006, 13:46
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 14 años, 1 mes
Puntos: 0
seycat gracias por responder.

te cuento lo que quiero hacer: tengo 6 botones de una botonera, cada uno esta nombrado como btn1, btn2 ...

todos los botones estan con _visible = false,

lo que quiero lograr con el bucle for y con la pausa en el bucle
es darle a los botones _visible = true
uno por uno cada medio segundo.

Mi script es asi:

for($i = 1; $i<=6; $i++){
var clip:MovieClip = _root.botonera["btn" + $i];
clip._visible = false;
};


Pero el problema es que aparecen todos a la misma vez.

Gracias y saludos.
  #5 (permalink)  
Antiguo 24/08/2006, 15:29
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 11 años, 3 meses
Puntos: 0
Pero para eso no necesitas un for, usa tranquilamente un sentInterval que se aniquile a si mismo.

contador = 0;
function aparecer(){
contador ++
if(contador >= 6){clearInterval(intervalo)}
}
intervalo = setInterval("aparecer",5000);


La escribi al ojo, debe tener errores

Saludos X.
  #6 (permalink)  
Antiguo 25/08/2006, 08:03
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 14 años, 1 mes
Puntos: 0
seycat gracias por responder, probé el script que me pasaste pero aparentemente no se ejecuta, sabrás porque es?

gracias y saludos!
  #7 (permalink)  
Antiguo 25/08/2006, 10:14
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 11 años, 3 meses
Puntos: 0
Como te dije el codigo debia tener errores, ya lo probe y queda asi

contador = 0;
function aparecer(){
contador ++
*/
trace(contador)
escribe aqui el contenido de lo que quieres
que se ejecute ya que en si no hace nada
/*
if(contador >= 6){clearInterval(intervalo)}
}
intervalo = setInterval(aparecer,5000);

fijate que el 5000 esta en milisengundos, lo que son 5 segundos, y la primera vez se ejecuta despues de 5 segundos de generado el intervalo, talves si quiereas forzar una ejecucion inmediata debas llamar a la funcion directamente antes de hacer el intervalo una vez

Saludos X.

Última edición por seyacat; 25/08/2006 a las 10:27
  #8 (permalink)  
Antiguo 21/09/2006, 10:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 14 años, 1 mes
Puntos: 0
seyacat muchas gracias funcionnó perfectoo
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 17:15.