Maso 0 Denunciar post Postado Fevereiro 21, 2009 Olá pessoal, felizmente consegui fazer um preloader para o meu banner rotator, porém o motivo de estar aqui escrevendo este post é devido alguns acertos de bugs, por exemplo: Quando eu clico em um botão para mudar de imagem enquanto o preloader está contando ele simplesmente começa a contar os bytesLoaded do antigo + a imagem do botão que eu cliquei. Isto é, a porcentagem passa dos 100... Fica então a dúvida, não queria desabilitar o botão, sei q é possível de algum jeito mas não estou encontrando sucesso. Aqui está o código: //obs: meuLoader:Loader; meuPreloader:DynamicText meuLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloader); meuLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showdebola); function preloader(e:ProgressEvent):void { var perc:Number = e.bytesLoaded/e.bytesTotal; meuPreloader.text = Math.ceil(perc*100).toString(); } function showdebola(e:Event):void { meuPreloader.text = ""; TweenMax.to(meuLoader, 1, {alpha:1}); } function clicke(e:MouseEvent):void { if(meuPreloader.text != "") { // ??? Estava pensando em algo assim } } http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Compartilhar este post Link para o post Compartilhar em outros sites
gmcp 0 Denunciar post Postado Fevereiro 21, 2009 Ele carrega a imagem sozinha e mostra como se carregasse tudo? Se for acho que você pode consertar isso salvando o valor do primeiro carregamento em uma variável e depois subtraindo: //obs: meuLoader:Loader; meuPreloader:DynamicText meuLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloader); meuLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showdebola); function preloader(e:ProgressEvent):void { var perc:Number; var percAnterior:Number; if(percAnterior != 0){ perc = (e.bytesLoaded/e.bytesTotal) - percAnterior; } else { perc = e.bytesLoaded/e.bytesTotal; } percAnterior = perc; meuPreloader.text = Math.ceil(perc*100).toString(); } function showdebola(e:Event):void { percAnterior = perc; meuPreloader.text = ""; TweenMax.to(meuLoader, 1, {alpha:1}); } function clicke(e:MouseEvent):void { } Esse pc não tem o flash instalado, mas acho que não tem nenhum erro no script... Compartilhar este post Link para o post Compartilhar em outros sites
Maso 0 Denunciar post Postado Fevereiro 21, 2009 não deu certo =\ Compartilhar este post Link para o post Compartilhar em outros sites