denys nich 0 Denunciar post Postado Novembro 6, 2010 Olá! sou novo aki no forum e tbm na parte de web desing, uso a algum tempo os programas da adobe, so agora profissionalmente, estou estudando muito a AS3. http://testaebelegante.com.br/novosite/ esse é o meu primeiro site, q ta em faze final de teste. estou tendo um problema com o preloader, num sem sei como remove-lo esse é o codigo var req:URLRequest = new URLRequest("Index.swf"); var loader:Loader = new Loader(); function fileLoaded(event:Event):void { addChild(loader); } function preload(event:ProgressEvent):void { var percent:Number = Math.round(event.bytesLoaded / event.bytesTotal * 100); preload_txt.text = String(percent) + "%"; } loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded); loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preload); loader.load(req); ele fica dentro do site depois de carregado, pq o fundo é o stage, e sendo todo em AS3, ele buga o site, trava as vezes o menu!alguém tem idéia de como eu resolvo isso, deve ser simples, mas num to conseguindo ver a solução! abrazzzz Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Novembro 7, 2010 Oi denys, seja bem vindo ao fórum. Também estou estudando AS3, seu tópico será útil a muitos usuários. Observe que você cria uma função para o evento COMPLETE e manda adicionar o loader loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded); function fileLoaded(event:Event):void { addChild(loader); } Penso que isso gere algum tipo de loop, mande recarregar, recarregar, infinitamente. COMPLETE serve para definir o evento que vem depois que PROGRESS seja concluído. Não sei se está correto, nunca fiz algo semelhante, mas observando alguns exemplos, para outras formas de usar um preloader, eu pensaria em usar um removeChild/removeListener. Não testei ainda. Talvez tenha outros erros. Seu code funciona para uma página ao testar no Flash, ao inserir no DW buga. Fica visível a porcentagem no background. Tenho um material para fazer o preloader sumir (num DVD que ainda não assisti) vou dar uma conferida, também tenho interesse nisso. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
denys nich 0 Denunciar post Postado Novembro 7, 2010 Oi denys, seja bem vindo ao fórum. Também estou estudando AS3, seu tópico será útil a muitos usuários. Observe que você cria uma função para o evento COMPLETE e manda adicionar o loader loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded); function fileLoaded(event:Event):void { addChild(loader); } Penso que isso gere algum tipo de loop, mande recarregar, recarregar, infinitamente. COMPLETE serve para definir o evento que vem depois que PROGRESS seja concluído. Não sei se está correto, nunca fiz algo semelhante, mas observando alguns exemplos, para outras formas de usar um preloader, eu pensaria em usar um removeChild/removeListener. Não testei ainda. Talvez tenha outros erros. Seu code funciona para uma página ao testar no Flash, ao inserir no DW buga. Fica visível a porcentagem no background. Tenho um material para fazer o preloader sumir (num DVD que ainda não assisti) vou dar uma conferida, também tenho interesse nisso. Abraços Olá, Elektra! muito obrigado pela ajuda! :D a questão é q eu num sei onde colocar o removeChild,e nem como montar a function, e eu teria de colocar um "if" se estiver completo o load dai sim ele roda a função removeChild. se puder me ajudar abraços Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Novembro 8, 2010 Encontrei algo para preloader interno. Pelo que observei todos os codes que observei usam algum recurso para remover o objeto do stage (COMPLETE). Em classe (adicionando o preloader com TextField) - arquivo de final de curso, jogaram numa pasta e a gente que se vire. package { import flash.display.MovieClip; import flash.text.TextField; import flash.text.TextFormat; import flash.events.*; import flash.display.Loader; import flash.net.URLRequest; import flash.text.TextFieldAutoSize; public class PreLoaderSwfs extends MovieClip { public var porcentagem:uint; public var carregador:Loader = new Loader(); public var campoTexto:TextField = new TextField(); public var campoTextoFormata:TextFormat = new TextFormat(); public function PreLoaderSwfs(arquivo:String):void { carregador.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); carregador.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); carregador.load(new URLRequest(arquivo)); campoTextoFormata.font = "Arial Narrow"; campoTextoFormata.bold = true; campoTextoFormata.color = 0x000000; campoTextoFormata.size = 60; campoTexto.y = 150; campoTexto.x = 250; campoTexto.autoSize = TextFieldAutoSize.LEFT; addChild(campoTexto); } private function onProgress(pe:ProgressEvent):void { porcentagem = (pe.bytesLoaded / pe.bytesTotal) * 100; campoTexto.text = porcentagem.toString(); campoTexto.setTextFormat(campoTextoFormata); } // Funçao executada depois de completo o carregamento do loader public function onComplete(e:Event):void { removeChild(campoTexto); campoTexto = null; addChild(carregador); if (e.currentTarget.content.currentFrame == 19) { trace("ok!!!") } } } } Preloader adicionado dentro de um container (timeline) para transição de páginas externas - autor: Michel Araújo >> http://videolog.uol.com.br/video.php?id=425919 É necessário ver o fla, mistura uma animação na timeline. Exemplo que tenho publicado >> Clique aqui DVD que mencionei, o code é bem simples, mas funciona: carrega.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, mostrarPreloader); carrega.contentLoaderInfo.addEventListener(Event.COMPLETE, sumirBarra); //Função function sumirBarra(e:Event):void { barra_mc.scaleX = 0; } function mostrarPreloader(e:ProgressEvent):void { var bc:uint = e.bytesLoaded; var bt:uint = e.bytesTotal; var pc:uint = bc * 100 / bt; barra_mc.scaleX = pc/100; } É aceitável que o seu preloader não desapareça, já vi isso, mas não deve bugar o carregamento das páginas. Sugiro inicialmente conferir algum outro code que funcione adequadamente. Para fazer sumir, conforme o tipo de preloader usado, com certeza há diversas opções. Abraços ps: eu preciso aprender a usar no carregamento inicial (main.swf) em uma classe, ainda chego lá. Compartilhar este post Link para o post Compartilhar em outros sites
denys nich 0 Denunciar post Postado Novembro 9, 2010 descobri o erro, muito obrigado pela ajuda, vlw mesmo! o site tinha cenas em sequencia, q bugava, qdo eu botava o preloader. a solução e refazer tudo em uma cena só! fiz alguns testes e por hora tudo certo! abrazzzzz Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Novembro 9, 2010 Legal que conseguiu resolver http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Eu nunca uso cenas para páginas, carrego arquivos individuais externos. Abraços Compartilhar este post Link para o post Compartilhar em outros sites