Ver Mensaje Individual
  #9 (permalink)  
Antiguo 07/11/2007, 17:12
Avatar de oswaldog
oswaldog
 
Fecha de Ingreso: diciembre-2003
Ubicación: Lara
Mensajes: 90
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: problemas con setTimeout

Igual Offrenbaruna. no consigo que funcione, este es el código que parece estar más cerca de lo que debería hacer :

Código:
var num:Number;
var j:Number;
var secuencia:Array = new Array(2,1,3,4,1,3,1,2);
var level:Number;
var mc:MovieClip;
//num = random(4);
//num++;
level = secuencia.length;

	function delay(peli:MovieClip) {
	peli.play();
	trace(this.mc);
	}

for (var i:Number = 0; i<=level; i++) {
	j = secuencia[i];

	switch (j) {
	case 1 :
		this.mc = mcazul;
		setTimeout(delay(this.mc),500);
		//setInterval(delay(),2000);
		trace("azul");
		break;
	case 2 :
		this.mc = mcverde;
		setTimeout(delay(this.mc),500);
		//setInterval(delay(),400);
		trace("verde");
		break;
	case 3 :
		this.mc = mcrojo;
		setTimeout(delay(this.mc),500);
		//setInterval(delay(),400);
		trace("rojo");
		break;
	case 4 :
		this.mc = mcamarillo;
		setTimeout(delay(this.mc),500);
		//setInterval(delay(),400);
		trace("amarillo");
		break;
	
	}
}

trace("LISTO!");
gotoAndStop(1);
Con ese, los trace en la ventana de salida, se ven así:

Cita:
_level0.mcverde
verde
_level0.mcazul
azul
_level0.mcrojo
rojo
_level0.mcamarillo
amarillo
_level0.mcazul
azul
_level0.mcrojo
rojo
_level0.mcazul
azul
_level0.mcverde
verde
LISTO!
Cosa que no sucede cuando incluyo los mc dentro de los case, ni dentro del swicth, ni tampoco dentro del for. Así se ve (por los trace) que la variable del mc pasa bien a la funcion delay, pero no se porque no se ejecuta el mc.play() y la función setTimeout tampoco hace el retardo. Sabes de otra función u otra forma, llevo días dandole y no logro pasar de allí.
__________________
Gracias, Oswaldo

"Compartir tus conocimientos. Es una buena manera de ganarse la inmortalidad"