Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/06/2007, 23:09
Avatar de adn_aguilera
adn_aguilera
 
Fecha de Ingreso: abril-2003
Ubicación: Monterrey
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
Ayuda para timer

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