smaboy 0 Denunciar post Postado Agosto 13, 2009 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
Thiago de Oliveira Cruz 21 Denunciar post Postado Agosto 13, 2009 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
smaboy 0 Denunciar post Postado Agosto 16, 2009 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