Comunidad de diseño web y desarrollo en internet online

problema con setInterval

Citar            
MensajeEscrito el 26 Nov 2009 03:23 pm
buenas tardes a todos los del foro.
estcribo por un problema que me ha surgido con la función setInterval. estoy creando una animación que cree letras aleatorioas en el escenario.
el código que tengo hasta ahora es el siguiente:

Código ActionScript :

this.createEmptyMovieClip("e_mc", this.getNextHighestDepth());
function aleatorio(minNum:Number, maxNum:Number):Number {
   return (Math.floor(Math.random()*(maxNum-minNum+1))+minNum);
};
var intervalo:Number;
var cont:Number=0;
var letraEfecto:Array=new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "LL", "M", "N", "Ñ", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
function uno(){
   cont++;
   var l:Number=Math.round(Math.random()*27);
   var patron:String=this.letraEfecto[l];
   e_mc.duplicateMovieClip("e"+cont+"_mc", this.getNextHighestDepth());
   eval("e"+cont+"_mc")._x=cont*3;
   eval("e"+cont+"_mc")._y=cont*3;
   eval("e"+cont+"_mc").createTextField("e"+cont+"_txt", this.getNextHighestDepth(), 0, 0, 40, 30);
   eval("e"+cont+"_mc.e"+cont+"_txt").text=patron;
   trace(eval("e"+cont+"_mc"));
};
interval=setInterval(uno, 500);


esto me funciona, el problema viene cuando paso la función uno por setInterval, ya que solo me tracea el 1º movieclip, los demás me sale undefined.
si paso la función por un bucle for o por onEnterFrame me va, pero demasiado rápido.

alguién sabría explicarme porqué no me funciona el setInterval ?

Por gurdi1

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 26 Nov 2009 04:32 pm

Código ActionScript :

this.createEmptyMovieClip("e_mc", this.getNextHighestDepth());

var cont:Number = 0;
var letraEfecto:Array = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "LL", "M", "N", "Ñ", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");

function uno() {
   var l:Number = Math.round(Math.random()*27);
   letra = e_mc.createTextField("e"+cont+"_txt", e_mc.getNextHighestDepth(), 0, 0, 40, 30);
   letra._x = cont*3;
   letra._y = cont*3;
   letra.text = letraEfecto[cont];
   cont++;
}
interval = setInterval(uno, 500);

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 26 Nov 2009 04:33 pm

Código ActionScript :

this.createEmptyMovieClip("e_mc", this.getNextHighestDepth());

var cont:Number = 0;
var letraEfecto:Array = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "LL", "M", "N", "Ñ", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");

function uno() {
   var l:Number = Math.round(Math.random()*27);
   letra = e_mc.createTextField("e"+cont+"_txt", e_mc.getNextHighestDepth(), 0, 0, 40, 30);
   letra._x = cont*3;
   letra._y = cont*3;
   letra.text = letraEfecto[l];
   cont++;
}
interval = setInterval(uno, 500);

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.