Obrigada Nuno.
Simples e muito eficaz :)
On 17 Nov, 09:54, Nuno Rosa <[email protected]> wrote:
> Assim que o swf carregado (ou o loader que o contem) esteja colocado na
> display list tens acesso ao stage.
> Podes estar a tentar aceder antes desse momento, se escutares o evento
> Event.ADDED_TO_STAGE (>9.0.128) podes ter a certeza que tens acesso ao
> stage.
>
> Na aplicação* Main.as*
>
> public function Main()
> {
> if(stage)
> initialize();
> else
> addEventListener(Event.ADDED_TO_STAGE, initialize);
>
> }
>
> public function initialize(e:Event = null):void
> {
> // A partir daqui tens acesso ao stage.
>
> }
>
> 2009/11/17 Catarina <[email protected]>
>
>
>
>
>
> > Olá a todos,
> > estou mesmo a precisar de ajuda de alguém mais elucidado que eu...
>
> > É o seguinte,
> > primeiro fiz o preloader de uma forma que me parece simples e que
> > noutras situações funcionou. Criei um novo documento, com um loader
> > que carrega o swf do site propriamente dito para dentro do primeiro.
>
> > var loader:Loader=new Loader();
> > var req:URLRequest=new URLRequest("site.swf");
>
> > loader.load(req);
> > this.addChild(loader);
>
> > loader.contentLoaderInfo.addEventListener
> > (ProgressEvent.PROGRESS,loading);
> > loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
>
> > function loading(ev:ProgressEvent):void{
> > var percentil:Number=Math.round(ev.bytesLoaded/ev.bytesTotal*100);
> > preloader.percentagemTxt.text = percentil+"% a carregar...";
> > preloader.animacao.gotoAndStop (percentil); }
>
> > function loaded(ev:Event):void{
> > preloader.visible=false;}
>
> > Só que desta vez esta forma de resolver o problema não está a
> > resultar, porque depois do swf carregado, quando posiciona o menu em
> > relação ao stage ele dá erro:
> > TypeError: Error #1009: Cannot access a property or method of a null
> > object reference. at Main()
> > Ou seja, já não consigo aceder ao stage. Não estou de todo a perceber
> > porquê.
>
> > Disseram-me que em as2 se resolvia facilmente a situação assim:
> > this._lockroot = true; ou _global.newroot = this;
> > Mas não consegui nada semelhante em as3.
>
> > Então pensei: se isto assim não funciona é porque talvez não seja a
> > forma correcta de o fazer. Por isso tentei fazer o preloader sem usar
> > um segundo swf para onde carregar o primeiro. Mas também não tive
> > sucesso:
>
> > import flash.events.ProgressEvent;
> > public class Main extends MovieClip
> > {
> > private var seccaoTodas:MovieClip;
> > private var menu:Menu;
> > private var preloader:Preloader = new Preloader();
>
> > public function Main()
> > {
> > addChild(preloader);
> > preloader.animacao.stop();
>
> > this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loading);
>
> > this.contentLoaderInfo.addEventListener(Event.COMPLETE, fim);
> > }
>
> > private function loading(ev:ProgressEvent):void
> > {
> > var percentagem:Number = Math.round(ev.bytesLoaded /
> > ev.bytesTotal
> > * 100);
> > preloader.animacao.gotoAndStop (percentagem);
> > preloader.percentagemTxt.text = percentagem+"% a
> > carregar...";
> > }
>
> > private function fim():void
> > {
> > removeChild(preloader);
> > addMenu();
> > addExtras();
> > listenersMenu();
> > }
> > }
>
> > Assim o que acontece é que o preloader nem chega a aparecer. Fazedo
> > simulate download, vejo a página branca (enquanto está a carregar) e
> > depois puft! aparecem as secções e o menu. Preloader nada.... Se fizer
> > um trace à percentagem ele devolve-me imediatamente 100%. Parece-me a
> > mim que o this (this.loaderInfo.addEventListener) não está bem...
>
> > Alguém me ajuda com uma solução simples?
> > Obrigada.- Ocultar texto citado -
>
> - Mostrar texto citado -
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade
Portuguesa de Rich Internet Applications - www.riapt.org" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para
[email protected]
Para mais opções, visite este grupo em
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---