Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

smaboy

[Resolvido] numeros negativos...

Recommended Posts

numeros negativos no Flash...

Galera.. eu estou com um probleminha com o uso de numero negativos.. acho q o meu flash "emburreceu" de vez.. se n foi ele, sou eu o burro!! (risos) vamos ao caso, vj o codigo, tem uma parte que n funciona mesmo!:

 

var posX = Number;

menu_alvo.posX = -250;

this.onEnterFrame=function():Void{

if(menu_alvo.posX > -250){

this.conj_botao_volta.gotoAndStop("espera");

}

else if (menu_alvo.posX < -250){

this.conj_botao_volta.gotoAndStop("toca");

this.conj_botao_volta.btn_acao.onRelease=function():Void{

menu_alvo.posX+=100;

}

}

else if(menu_alvo.posX >(-(menu_alvo._width - 205)) ){

this.conj_botao_avanca.gotoAndStop("toca");

this.conj_botao_avanca.btn_acao.onRelease=function():Void{

menu_alvo.posX-=100;

trace (menu_alvo.posX)

trace (-(menu_alvo._width - 205))

}

}

 

else if(menu_alvo.posX <(menu_alvo._width - 205) ){

conj_botao_avanca.gotoAndStop("espera");

}

}

Resultados do trace:

-950

-627.85

 

E a ação de n acontece... n compreendo! uma vez q -950 é menor q -627... ????? A sequencia inversa funciona lindamente.. tanto indo, qt vindo!!!

 

Alguém tem alguma ideia do q está acontecendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo preste atenção no seu código:

trace (menu_alvo.posX)
 trace (-(menu_alvo._width - 205)) //<--------- tem um menos antes do segundo parenteses

else if(menu_alvo.posX <(menu_alvo._width - 205) ){ //<------------- não tem um menos na frente do parenteses depois do menor
conj_botao_avanca.gotoAndStop("espera");
}
}

 

O correto deveria ser:

else if(menu_alvo.posX <(-(menu_alvo._width - 205)) ){
conj_botao_avanca.gotoAndStop("espera");
}
}
Né? para ficar igual ao exemplo a cima!

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu berseck por me apontar o erro!! de fato, este era meu erro original... e como eu n o tinha percebido, acreditei q o problema estava em n relacionar os if de ir com o if de voltar... então eu os co-relacionei e acabei gerando um outro problema. eu criei uma variavel com a unidade de medida (assim eu n cometeria o erro de usar ou n o menos, e tirei a relação entre os dois if de ir e de vir... E agora está funcionando lindamente como previsto; ficando assim o código completo:

 

var posX = Number;
menu_alvo.posX = -250;
this.onEnterFrame=function():Void{
var bordadir:Number = -(menu_alvo._width - 205); 
if(menu_alvo.posX > -250){
this.conj_botao_volta.gotoAndStop("espera");
}
else{
this.conj_botao_volta.gotoAndStop("toca");
this.conj_botao_volta.btn_acao.onRelease=function():Void{
menu_alvo.posX+=100;
}
}
if(menu_alvo.posX > bordadir){
this.conj_botao_avanca.gotoAndStop("toca");
this.conj_botao_avanca.btn_acao.onRelease=function():Void{
menu_alvo.posX-=100;
}
}
else{
conj_botao_avanca.gotoAndStop("espera");
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.