Comunidad de diseño web y desarrollo en internet online

else if s e if s

Citar            
MensajeEscrito el 08 Jun 2009 05:54 am
yo le sabia a los ifs pero me empeze a topar con estos problemas
if (Key.isDown(Key.UP)) {
nave._y -= 100;
laser1._y = nave._y;
laser1._x = nave._x;
this.nave.gotoAndStop(3);
} else if (Key.isDown(Key.ENTER)) {
} else if (Key.isDown(Key.UP)) {
this.nave.gotoAndPlay(26);
} else {
this.nave.gotoAndPlay(1);
}
} else if (Key.isDown(Key.DOWN)) {
nave._y += 100;


me dice que error de sintaxis en el ultimo else if, si le borro uno de los corchetes me dice que el else no coincide con el if y pues ya le busque o_0 la manera, a veces si le borro el punto y coma y funciona pero no entiendo porque, expliquenme para que sirve ponerle el ; y porque no funciona el ejemplo ^^. porfa =)

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie7
Citar            
MensajeEscrito el 08 Jun 2009 06:44 am
te recomiendo que indentes tu codigo, asi podras ver de un modo mas claro como esta estructurada tu cadena de sentencias

para empezar
corchetes son estos []
llaves son estas {}
no los confundas

ahora, si

primero tienes que entender como se encadenan los if y else

la idea es esta

if(A){1}
else if (B){2}
else if (C){3}
else if (D){4}
else {5}

if se cumple la condicion "A", se realiza "1"
si no se cumple la condicion "A", se revisa si se cumple la condicion "B" y si es asi, se realiza "2"
si no se cumple la condicion "B", se revisa si se cumple la condicion "C" y si es asi, se realiza "3"
si no se cumple la condicion "C", se revisa si se cumple la condicion "D" y si es asi, se realiza "4"
si no se cumple la condicion "D", significa que ninguna condicion se cumplio y se realiza "5", solo cuando ninguna de las demas funciono

como puedes ver, el else solo siempre va de ultimo
lo que tu estas haciendo es esto

if (A) {1}
else if (B) {2}
else if (C) {3}
else {4}
else if (D) {5}

notas algo extraño?

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 08 Jun 2009 08:48 pm
ahhhhh mira nadamas =), gracias

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie7
Citar            
MensajeEscrito el 08 Jun 2009 09:49 pm
pero explicame esto:
if (Key.isDown(87)){
nave._y -= 1;
this.nave.gotoAndStop(3);}
else if(Key.isDown(Key.UP)){
nave._rotation = -180;}
else if(Key.isDown(68));{
nave._x += 5 ;}
else{this.nave.gotoAndPlay(1);}
ahi me dice que el ultimo else no coincide con el if, pero si del ultimo else if le borro el punto y coma antes de la "llave" :D, me dice que esta bien, que hacen los punto y coma para que varie esto o_0.

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie7
Citar            
MensajeEscrito el 08 Jun 2009 10:03 pm
; sirve para separar sentencias
el else if esta mal estructurado con el ; antes de las {}
lo toma como si ahi terminara toda la cadena de if/else
por eso te dice que ese else no tiene un if para respaldarse

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 08 Jun 2009 11:21 pm
ah, muchas garcias =0 =)

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie7

 

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