Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gogumelo

[Resolvido] Como chamar um evento de um swf externo?

Recommended Posts

Fala Galera!

 

To com um problemão aqui.

 

Eu tenho um swf principal, nele eu tenho 3 botoes gerados por XML.

 

E eu tenho um swf externo, que é um "slider" de X produtos, que também carrego de acordo com o XML.

 

Porém eu quuero que quando o usuário clique em um dos botoes do SWF principal, o SWF externo, faça uma animaçao, que eu faço via um eventListener dentro do SWD externo.

 

Os 2 são 2 projetos diferentes. o Principal é feito com animações na Timeline, e o externo é feito pelo Flash Builder, utilizando papervision, logo é tudo via AS, não tenho um arquivo .fla do externo.

 

Alguem sabe alguma solução viável?

 

Desde já obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai dependente de algumas coisas, para disparar um evento bastaria:

 

obj.dispatchEvent(new Event("NOME_DO_EVENTO"));

 

porém depende de alguns detalhes:

 

qual evento você quer chamar nesse swf externo?

onde o addEventListener foi adicionado nele? foi na classe principal?

 

 

diz ai que fica mais facil ajudar

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai dependente de algumas coisas, para disparar um evento bastaria:

 

obj.dispatchEvent(new Event("NOME_DO_EVENTO"));

 

porém depende de alguns detalhes:

 

qual evento você quer chamar nesse swf externo?

onde o addEventListener foi adicionado nele? foi na classe principal?

 

 

diz ai que fica mais facil ajudar

 

[]´s

 

 

Fala Eder, beleza?

 

Bom, o evento que eu quero chamar é este, stage.addEventListener(KeyboardEvent.KEY_UP, cima); que está no swf externo.

 

Eu quero chamar este evento, que está no swf externo, direto do SWF principal

 

Ajuda essas infos?

 

Abs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim ajuda

 

só depois que você carregar ele E adicionar no palco, pode chamar assim:

 

 

movieExerno.stage.dispatchEvent(new Event(KeyboardEvent.KEY_UP));

 

 

com isso ele dispara o evento

 

 

testa ai

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ai Eder, beleza?

 

Então cara, eu testei aqui, mas para eu poder dar o objexterno.stage.addEventListener

 

eu tentei converter dando um cast, mas nao rolou

 

fiz

 

loader.load(new URLRequest("paper.swf"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, funcaoComplete);

 

function funcaoComplete(e:Event):void

{

trace("carregou");

son = loader.content as MovieClip;

trace("son => " + son);

trace("loader => " + e.currentTarget.content);

//addChild(e.currentTarget.content);

addChild(son);

}

 

mas minha variavel son vem como nula.

 

Eu to programando isso diretona timeline, você sabe se tem algum problema?

 

Ahh e cheguei a conclusão que vou tentar fazer o swf pai, chamar uma funcao do swf filho.

 

deve ser o mesmo prncipi né, pq se eu conseguir disparar um evento, consigo chamar uma funcao provavelmente

Compartilhar este post


Link para o post
Compartilhar em outros sites

chamar uma função ou disparar o evento direto como mostrei daria na mesma

 

 

 

mas é estanho esse trace vindo como null, ele chega a adicionar o swf no palco? os dois traces mostram null?

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

chamar uma função ou disparar o evento direto como mostrei daria na mesma

 

 

 

mas é estanho esse trace vindo como null, ele chega a adicionar o swf no palco? os dois traces mostram null?

 

 

 

[]´s

 

entao, o primeiro, que é o "son" da null e se eu tento adicionar ele no palco, ele diz que nao pode, pq é null rs.

 

o segundo, eu consigo, mas nao consigo manipular ele como movieclip.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido Galera.

 

Se alguem passar por isto, e o casting não funcionar segue outra forma de se fazer

 

loader.load(new URLRequest("Paper.swf"));

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, funcaoComplete);

 

function funcaoComplete(e:Event):void

{

addChild(loader);

obj = e.currentTarget.content;

}

 

function click(e:MouseEvent):void

{

var ret:Boolean = obj.goToObject(e.target.idObjeto);

}

 

No Click, ele chama a função goToObject() de outro SWF

 

:)

 

valeu Eder

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.