Comunidad de diseño web y desarrollo en internet online

Variables y condiciones Duda

Citar            
MensajeEscrito el 29 Dic 2008 12:52 am
Saludos, haber si me podéis echar un cable.

Tengo en un fotograma

_global.pulsaciones=patata;
patata=2;
stop();

y en otra capa en el mismo frame correspondiente

cuadro.onPress = function() {
if (patata == 0) {
cuadro._x += 100;
patata=2;
}
if (patata == 2) {
cuadro._x += 5;
patata=0;
}
};

"cuadro" es una instancia en el escenario en la capa donde se encuentra el código más largo, si pulso la primera vez sobre él se desplaza x 5, la segunda vez k pulso se desplaza x 100, si vuelvo a pulsar se mueve 100 y asi sucesivamente sigue moviendo 100, y lo que quiero es que alterne entre 5 y 100, con mi código no debería alternar? ya que añado abajo que si se pulsa cambia la variable al anterior valor numérico....(me duele la cabeza).

Gracias.

Por pakaken

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 29 Dic 2008 01:31 am
En realidad tu codigo si esta intercalando pero lo hace al mismo tiempo, o sea cuando das click en el boton la primera vez si se mueve 5, pero en la siguiente se mueve 100 y 5, luego otro click 100 y 5, porque en el click que das esta entrando a AMBAS CONDICIONES, porque en el primer if tu dices que patata=2, y la siguiente condicion dice si patata es igual a 2, entonces continua con el otro if tambien, puedes darte cuenta colocando un trace:

Código ActionScript :

cuadro.onPress = function() {
if (patata == 0) {
cuadro._x += 100;
patata=2;
trace("100");
}
if (patata == 2) {
cuadro._x += 5;
patata=0;
trace("5");
}
};


Veras que despues del primer click te sale en el output 100 5 juntos por cada click al boton.

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox
Citar            
MensajeEscrito el 29 Dic 2008 01:36 am
Ah y lo olvidaba, para que logres ese efecto intercalado, lo que tienes que hacer es salir de la condicion al ser ejecutada, eso lo logras agregando una linea return;

Código ActionScript :

cuadro.onPress = function() {
if (patata == 0) {
cuadro._x += 100;
patata=2;
trace("100");
return;
}
if (patata == 2) {
cuadro._x += 5;
patata=0;
trace("5");
return;
}
};

Por drarock

Claber

705 de clabLevel

3 tutoriales

Genero:Femenino  

Lima, Peru

firefox

 

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