Show Gustavo!

Deu certo!
Só corrigi a forma que tu adicionou o event... =)

E ficou assim:

var carregador:Loader = new Loader  ;
var arquivo:String = "site.swf";
var requisicao:URLRequest = new URLRequest(arquivo);
*carregador.contentLoaderInfo.addEventListener (Event.INIT,
requisicao_initHandler);*
carregador.load (requisicao);
alvo.addChild (carregador);

Valeu a todos que participaram!

Att,

Guilherme Loureiro Valadares
Interactive Designer
www.guilhermeloureiro.com


2009/12/14 Gustavo Kawamoto <gust...@asflake.com>

> Simples :) Adicione um eventhandler no carregador lá na introdução e lá
> acesse o content dele, assim:
>
> public function carregaSite ():void
> {
> var carregador:Loader = new Loader();
>  var arquivo:String = "site.swf";
>  var requisicao:URLRequest = new URLRequest(arquivo);
>  carregador.load (requisicao);
>  requisicao.loaderContentInfo.addEventListener(Event.INIT,
> requisicao_initHandler);
>  alvo.addChild (carregador);
> }
>
> private function requisicao_initHandler (event:Event) :void
> {
> // recuperando o carregador
>  var carregador:Loader = (event.currentTarget as LoaderInfo).loader;
>  // chamando o método indiretamente, porque content é um objeto do tipo
> DisplayObject
>  carregador.content["metodo1"]();
>  /*
>  // ou assim:
>  var carregador:Loader = (event.currentTarget as LoaderInfo).loader;
>  var site:Site = carregador.content as Site;
>  site.metodo1();
>  */
> };
>
> --
> Gustavo Y. Kawamoto
>
>
>
> 2009/12/14 guilherme loureiro <guilhermeloure...@gmail.com>
>
>> Patrick,
>>
>> Como eu faria essa referencia dentro da classe site?
>> Fiz um teste rapido aqui e me pintou essa duvida.
>>
>> Segue os codigos:
>>
>> --------------------------
>> *Introducao.as*
>> --------------------------
>> package
>> {
>>     import flash.display.*;
>>     import flash.events.*;
>>     import flash.net.*;
>>
>>     public class Introducao extends MovieClip
>>     {
>>         public var _classeSite:Object;
>>
>>         public function Introducao ():void
>>         {
>>             btn.addEventListener (MouseEvent.CLICK,onClick);
>>             btn.buttonMode = true;
>>
>>             carregaSite ();
>>         }
>>
>>         public function carregaSite ():void
>>         {
>>             var carregador:Loader = new Loader  ;
>>             var arquivo:String = "site.swf";
>>             var requisicao:URLRequest = new URLRequest(arquivo);
>>             carregador.load (requisicao);
>>             alvo.addChild (carregador);
>>         }
>>
>>         private function onClick (e:MouseEvent):void
>>         {
>>             trace ("Cliquei");
>>             _classeSite.metodo1 ();
>>         }
>>     }
>> }
>>
>>
>> --------------------------
>> *Site.as
>> *--------------------------
>> package
>> {
>>     import flash.display.*;
>>
>>     public class Site extends MovieClip
>>     {
>>         public function Site ():void
>>         {
>>             // Como me referencio a classe Introducao?
>>             Object(parent)._classeSite = this;
>>         }
>>
>>         public function metodo1 ():void
>>         {
>>             trace("Opa, estou dentro da classe site");
>>
>>         }
>>     }
>> }
>>
>>
>>
>>
>>
>>
>>
>> Att,
>>
>> Guilherme Loureiro Valadares
>> Interactive Designer
>> www.guilhermeloureiro.com
>>
>>
>> 2009/12/14 guilherme loureiro <guilhermeloure...@gmail.com>
>>
>>> Boa Patrick,
>>>
>>> Entendi o macete!
>>> Vou fazer um teste aqui e retorno se deu certo!
>>>
>>>
>>> Valeu!
>>>
>>> Att,
>>>
>>> Guilherme Loureiro Valadares
>>> Interactive Designer
>>> www.guilhermeloureiro.com
>>>
>>>
>>> 2009/12/14 Patrick Facchin <patrick.facc...@gmail.com>
>>>
>>>  V se isso ajuda
>>>>
>>>>
>>>> tipo cria um atributo _parente:object na classe introducao e na classe
>>>> site vc referencia ela mesma no atributo do _parente da introducao, tipo:
>>>>
>>>>
>>>> class site
>>>>
>>>> introducao._parent = this;
>>>>
>>>> -----------------
>>>>
>>>> class introducao
>>>>
>>>> _parent.{metodo desejado}
>>>>
>>>>
>>>> saco???
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> 2009/12/14 guilherme loureiro <guilhermeloure...@gmail.com>
>>>>
>>>>> Bom dia pessoal, blz?
>>>>>
>>>>> Seguinte:
>>>>>
>>>>> Eu tenho as seguinte estrutura no flash:
>>>>>
>>>>>  introducao.fla --> Introducao.as
>>>>>> site.fla --> Site.as
>>>>>>
>>>>>
>>>>> Tipo, quando termina a introducao, eu chamo o site.swf... mas to com
>>>>> uma duvida aqui... como acessar os metodos e propriedades da classe Site
>>>>> pela classe Introducao? Tentei da forma que eu fazia em as2, e nao da...
>>>>>
>>>>> alvo_mc.MetodoSite();
>>>>>
>>>>> Alguém pode me dar um help?
>>>>>
>>>>> Valeu!
>>>>>
>>>>> Att,
>>>>>
>>>>> Guilherme Loureiro Valadares
>>>>> Interactive Designer
>>>>> www.guilhermeloureiro.com
>>>>>
>>>>> --
>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>> flexdev@googlegroups.com
>>>>> Para sair da lista, envie um email em branco para
>>>>> flexdev-unsubscr...@googlegroups.com
>>>>> Mais opções estão disponíveis em
>>>>> http://groups.google.com/group/flexdev
>>>>
>>>>
>>>>  --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>>> Para sair da lista, envie um email em branco para
>>>> flexdev-unsubscr...@googlegroups.com
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>>
>>>
>>  --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> Para sair da lista, envie um email em branco para
>> flexdev-unsubscr...@googlegroups.com
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>  --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a