Comunidad de diseño web y desarrollo en internet online

setInterval, Condicionante y loop....

Citar            
MensajeEscrito el 29 Jul 2008 11:29 pm
Hola a todos.

Necesito la ayuda de uds. Espero alguien me pueda orientar.

Tengo un Mc que quiero moverlo sobre _y con un botón. y que al llegar a una coordenada específica, el Mc ya no avance más.

en la línea de tiempo puse una función:

Código :

function subir(){
   menu_tec._y = menu_tec._y-3;
}


ahi mismo puse una variable para checar la posición del Mc (eso creo) :oops: y una condicionante para que no avance al llegar a _y=130.

Código :

if(menu_tec <= 130){
delete subir();
}

Código :

posY = menu_tec._y;


y por último en el botón puse lo siguiente:

Código :

on(press){
   subir();
   trace (posY);

}


Con todo eso, mi Mc, si sube 3 px cada que presiono el botón, pero al llegar al _y=130 sigo presionando el botón y sigue subiendo el Mc.

Si alguien me puede ayudar se lo agradecería

Por crokis

34 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Jul 2008 06:43 am
Buenas,

Este if no hace nada si te fijas, ya que no esta comprobando lo que quieres:

if(menu_tec <= 130){
delete subir();
}

Deberías cambiar menu_tec por menu_tec._y

Por ur!

256 de clabLevel



 

Barcelona

firefox
Citar            
MensajeEscrito el 30 Jul 2008 09:12 pm
Gracias ur! por el dato. Pero ya lo cambié pero sigue recorriendose despues del 130.

y ya ves que tengo un Trace en el botón y me manda la posición inicial de mi MC pero a los siguientes clicks me sigue mandando lo mismo, aunque el clip si esta cambiando de posición!

No tendría que probar con setInterval?? pero cómo lo haría???

Saludos.

Por crokis

34 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Jul 2008 10:43 pm
pon la condicion dentro del onPress:

Código :

function subir():Void{

   menu_tec._y -= 3;

}


en el boton

Código :

on(press){

    var posY:Number = _root.menu_tec._y;
    trace (posY);

     if(posY - 3 > 130){

        subir();

    }

}


Te seguía devolviendo la misma posición porque igualas a posY las coordenadas en _y del Mc cuando se cargaba la película, después que cambiabas de posición el Mc no renovavas esta variable por lo que siempre te estaba dando lo mismo.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 01 Ago 2008 01:38 pm
Yo lo haria así
Linea de tiempo:

Código :

var subirId:Number;
function subir():Void {
   menu_tec._y -= 3;
   if (menu_tec._y<=130) {
      clearInterval(subirId);
   }
}


En el botón:

Código :

on(release){
   subirId = setInterval(subir,50);
}

Espero que te sirva, saludos!

Por cralph

5 de clabLevel



Genero:Masculino  

firefox

 

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