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

Ejecion lenta de un moiveclip?

Estas en el tema de Ejecion lenta de un moiveclip? en el foro de Flash y Actionscript en Foros del Web. Holas señores, miren deseo hacer una pequeña aplicación donde deseo que mi mivieclip se mueva en diferentes lugares de la pelicula, usando numeros aleatorios. Pero ...
  #1 (permalink)  
Antiguo 09/10/2003, 14:25
 
Fecha de Ingreso: mayo-2002
Ubicación: Tijuana
Mensajes: 201
Antigüedad: 22 años, 6 meses
Puntos: 1
Pregunta Ejecion lenta de un moiveclip?

Holas señores, miren deseo hacer una pequeña aplicación donde deseo que mi mivieclip se mueva en diferentes lugares de la pelicula, usando numeros aleatorios. Pero cuando la pruebo lo hace tan rapido que no se mira. Mi duda es si existe en flash algun delay como en c para hacer que en cada interacion o ciclo se detenga un poco antes de continuar con el siguiente.

A lo mejor mi logica usada esta mal aqui les va el codigo a ver si le encuentran algo raro...

posx = 150;
posy = 150;
bandera = false;

setProperty( "miCuadro", _x, 150 );
setProperty( "miCuadro", _y, 150 );

for( i = 0; i < 100; i++ ){
while( bandera == false ){
posx = random( 300 );
if( posx != _root.miCuadro._x )
bandera = true;
}
bandera = false;
while( bandera == false ){
posy = random( 300 );
if( posy != _root.miCuadro._y )
bandera = true;
}

bandera = false;
_root.miCuadro._x = posx;
_root.miCuadro._y = posy;

setProperty( "miCuadro", _x, _root.miCuadro._x );
setProperty( "miCuadro", _y, _root.miCuadro._y );

trace( _root.miCuadro._x );
trace( _root.miCuadro._y );
}

Flash para mi es nuevo, pero ya le voy agarrando el rollo, este codigo lo tengo en una sola trama de mi movieclip no lo tengo en la escena principal.

Solo deseo que se mire como se va pasando de un lado a otro.
Espero me haya explicado, gracias...
  #2 (permalink)  
Antiguo 11/10/2003, 19:20
 
Fecha de Ingreso: mayo-2002
Ubicación: Tijuana
Mensajes: 201
Antigüedad: 22 años, 6 meses
Puntos: 1
Bien miren lo que deseo hacer es lo siguiente:
Supongamos que tengo un punto (puntoa, puntob), y deseo que una pelicula llegue a el, ahora esa pelicula tiene una cordenada (x,y), y ambos puntos de la figura una vez que inicia la animacion se generan aleatoriamente, asi que cuando esta obtiene sus puntos inicia el recorrido hacia los puntos (puntoa, puntob). Inicio primero el recorrido horizontalmente y despues vertical. Claro esta que un algoritmo se encarga de que la movieclip localize los puntos y una vez que los obtiene empieza el recorrido, primero horizontal y luego vertical.

Como pueden ver esto es para una aplicacion que deseo hacer, no he encontrado otra manera de hacerlo ya que los puntos a donde deseo dirigir la pelicula pueden estar en varios lugares aleatorios, por ello creo que de debo hacerlo con actionscript, soy nuevo en el mundo flash, ya he hecho cosas bonitas en el, pero este problema me trae de cabeza, lo puedo hacer el unico inconveniente es que lo hace tan rapido que no puedo hacer que se mire como se traslada punto a punto, se pierde la nocion que esta caminando la imagen, este es el problema que tengo. NO SE MIRA COMO SE DESPLAZA LA PELICULA PASO PASO.

Espero puedan hecharme la mano, hasta pronto.
  #3 (permalink)  
Antiguo 17/10/2003, 09:21
 
Fecha de Ingreso: mayo-2002
Ubicación: Tijuana
Mensajes: 201
Antigüedad: 22 años, 6 meses
Puntos: 1
De acuerdo

Señores muchas gracias, ya entendi mi problema, la solucion es usar un frame por ciclo, si checan el codigo arriba veran que hago en una sola frame todo el recorrido, y el chiste es usar al menos 2 o una frame por cada ciclo, ejemplo:

frame X:
this.MiMovieClip._x += 5;

If(Sino ha terminado el ciclo)
Ir a esta misma frame u otra
De lo contrario
Salir de las frames de ciclos y hacer otra cosa o
volver a entrar a repetir el; ciclo.

Claro esta que si sigo haciendo los saltos de pixel por pixel:
this.MiMovieClip++;
Vamos a tener una animacion muy lenta, por ello al menos se recomienda hacerlo con saltos de 5 pixeles, si agrandamos los saltos a mas de 5 pixeles la animacion sera mas veloz...

Hasta pronto...
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 23:42.