Tengo una función, para mover un objeto, obtiene las coordenadas y el nivel de zoom actual, y al introducir las nuevas coordenadas y el nuevo valor de zoom realiza el desplazamiento en 20 pasos. El problema es que los 20 pasos los hago con un "for", pero los procesa demasiado rápido y no se aprecia que en realidad se hace en esa cantidad de pasos. lo que necesito es que después de cada paso haga una pausa de x milisegundos y continúe después con el "for".
mi función está asi:
Código:
function mover(equis:Number,ye:Number,zoom:Number){
prev_x=getProperty(mapa,_x);
prev_y=getProperty(mapa,_y);
prev_zoom=getProperty(mapa,_xscale);
if(equis < prev_x){
desp_x = ((prev_x - equis)/20) * (-1);
}else{
desp_x = (equis - prev_x)/20
}
if(ye < prev_y){
desp_y = ((prev_y - ye)/20) * (-1);
}else{
desp_y = (ye - prev_y)/20
}
if(zoom < prev_zoom){
desp_zoom = Math.abs((prev_zoom - zoom)/20 );
}else{
desp_zoom = Math.abs((zoom - prev_zoom)/20);
}
for(i=1; i<20; i++) {
prev_x += desp_x;
prev_y += desp_y;
prev_zoom += desp_zoom;
setProperty(mapa , _x , prev_x);
setProperty(mapa , _y , prev_y);
setProperty(mapa , _xscale , prev_zoom);
setProperty(mapa , _yscale , prev_zoom);
/*aqui necesito hacer una pausa
}
}
Ya intenté con Interval, pero creo que no lo estoy haciendo bien