VBA 0 Denunciar post Postado Julho 5, 2005 Gente, trabalho com flash a um bom tempo e sempre tive um pouco de receio de utilizar o EnterFrame com medo q o site ficasse lento. Mas estou chegando a conclusão de q para algumas funções , o enterframe é a única maneira de não deixar as ações com bug.... Por exemplo em botoes, depende das açãos que você quer dar no mesmo, o rollover e o rollout é ineficiente .... Existe algum modo de medir o qto o processamento do enterframe interfere no desempenho? O enterframe interefere mesmo no desempenho da aplicação ??? Mais uma dúvida, existe uma maneira de fazer ações por exemplo em um botão, mas que não fique o enterframe verificando constantemente ?/ abs http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Julho 5, 2005 A qualquer hora você pode deletar um enterFrame usando a ação: delete caminho.onEnterFrame; Crie um botão no palco e use essa ação pra testar: on(press){ onEnterFrame = function(){ trace("o botão foi pressionado"); } } on(release, releaseOutside ){ delete onEnterFrame; trace("onEnterFrame deletado"); } abraço, Carneirinho Compartilhar este post Link para o post Compartilhar em outros sites
VBA 0 Denunciar post Postado Julho 5, 2005 Imagine um caso onde tenha varios botoes um grudado no outro.... e eu tenha umn efeito de rollover e rollout em todos os botoes... qdo eu passo o mouse rapidamente sobre os botoes não existe a area de rollout, e todos os botões ficam ativos........... entende ? Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Julho 5, 2005 Mas no caso do botão ele não tem uma area de rollOut, ele só tem o hit que é o próprio corpo do botão, quando o mouse sai dele ja é considerado como rollOut, o unico jeito dele não funcionar assim, é clicando e arrastando pra fora antes de soltar, o que isso é resolvido com o releaseOutSide, no sue caso você tem o menu e esta dando esse problema?Você tem a url dele? Compartilhar este post Link para o post Compartilhar em outros sites
VBA 0 Denunciar post Postado Julho 5, 2005 eu entendi, mas a questao é a seguinte, se você coloca botoes grudados , qdo você sai do botao e vai em cima de outro botao, o primeiro não identifica o segundo botao como rollout entendeu ... esse é o pau q dá........É apenas um exemplo do q acontece sempre com esses efeitos sobre o botao... mais tarde eu posto aki .... Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Julho 5, 2005 Entendi, o que você pode fazer é uma função dentro de cada botão (isso se ele for um movieclip animado) que verifica como se os botões estivessem no up ou down, por exemplo, você cria uma variavel status dentro de cada botão, ai você coloca: on(rollOver){ this.status = "over"; } on(rollOut){ this.status = "up"; } Então desse modo você vai atribuindo valores a essas variaveis, como se fosse um valor booleano, o que você precisa fazer a mais é usar um if, pra saber se quando você passa o mouseem um botão, ele verifica se tem algum outro ativo e se estiver, faz ele retornar na marra sem precisar de rollOver, por exemplo, se você der instancia aos movieclips que são botões de por exemplo bt1, no outro bt2, bt3, etc... você usaria algo assim no bt1: on(rollOver){ if(bt2.status == "over"){ bt2.gotoAndStop(1); bt2.status = "up" } // resto das ações do botão, inclusive outros ifs pros outros botões } Sendo assim você faz uma gambiarra pra funcionar o falso over, isso deve resolver o seu problema. qquer duvida poste ai novamente. abraço, Carneirinho Compartilhar este post Link para o post Compartilhar em outros sites
VBA 0 Denunciar post Postado Julho 5, 2005 entao beleza... essa é a questão carneirinho .. você há de convir que isso não é muito usual, eu tb estava fazendo assim , e para evitar problemas sempre ficava com essa tonelada de verificação ... aí eu comewcei a fazer botoes sempre usando o Enterframe e verificando o "OVER" atraves do hitTest. Ficam perfeitos........ Ai da minha pergunta, o enterframe atrapalha o desempenho do site como um todo, tem como medir isso ??Obrigado pelas respostas até aqui cara..[/s Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Julho 5, 2005 A vantagem de funções assim é de não usar o enterFrame, ele consome um pouco o enterFrame, mas o que mais pesam consumo mesmo são animações, se essa depender de enterframe ai fica pesado, claro ue quanto menos usar é melhor, mas tem sites que faço com bastante enterframe que não chega a travar e nem deixar lento o processo Compartilhar este post Link para o post Compartilhar em outros sites
VBA 0 Denunciar post Postado Julho 5, 2005 bom saber.. obrigado cara.. tava chegando a essa conclusao tb Compartilhar este post Link para o post Compartilhar em outros sites
Reginaldo 0 Denunciar post Postado Julho 5, 2005 esses enterframe da uma terpidada no desempenho sim.. mas não a ponto de prejudicar o site.. é só uma travadinha de +/- 1/4 de segundo...não sei como medir isso no flash.. mas eu percebo qdo uso esse trace.. se eu tiver ouvido uma musica no pc.. ela da uma rapida travadinha... Compartilhar este post Link para o post Compartilhar em outros sites
Void : 0 Denunciar post Postado Julho 6, 2005 troque por setInterval();e clearInterval(). p/ parar Compartilhar este post Link para o post Compartilhar em outros sites
VBA 0 Denunciar post Postado Julho 6, 2005 como eu usaria o set interval Void... ele ficaria verificando por um determindado intervalo de tempo ?? Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Julho 6, 2005 Isso, você primeiro cria uma função, por exemplo: var i = 1; function teste(){ trace(i); i++; } id = setInterval(teste, 1000); // primeiro o nome da função, depois seta o tempo para o intervalo, 1000 corresponde a 1 segundo, 2000 a dois segundos... se em alguma hora você quiser parar o intervalo, use o id do intervalo usando: clearInterval(id); Cuidado com loops, pois se passar duas vezes pelo setInterval ee vai dobrar o intervalo e vai deixar seu flash loucasso! abraço, Carneirinho Compartilhar este post Link para o post Compartilhar em outros sites