Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!!
>
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!
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
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
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
>
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.
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
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