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

Ayuda para timer

Estas en el tema de Ayuda para timer en el foro de Flash y Actionscript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/06/2007, 00:09
Avatar de adn_aguilera  
Fecha de Ingreso: abril-2003
Ubicación: Monterrey
Mensajes: 19
Antigüedad: 14 años, 8 meses
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
  #2 (permalink)  
Antiguo 28/06/2007, 02:17
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 13 años, 4 meses
Puntos: 12
Re: Ayuda para timer

Hola!

Le veo dos opciones.

Puedes alargar el bucle, que en vez de 20 pasos sean más y adaptando el cambio al resto de código (desp_x, desp_y y desp_zoom).

O puedes usar setInterval, pero no sé si interesa, pues puede hacerte el movimiento demasiado escalonado, con pausitas de medio segundo (por poner un ejemplo) entre paso y paso.

Saludos!
  #3 (permalink)  
Antiguo 28/06/2007, 02:22
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 13 años, 4 meses
Puntos: 12
Re: Ayuda para timer

Ah, se me olvidó comentar que empleas unas funciones pelín desfasadas como setProperty y getProperty. ¿Es una versión de flash antigua o Flash Lite, quizás?

Código:
prev_x = getProperty (mapa,_x);

es lo mismo que:

prev_x = mapa._x;

Y

setProperty (mapa , _x , prev_x);

es lo mismo que:

mapa._x = prev_x;
Más saludos.
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 14:12.