Manipular MovieClip de um SWF Externo
Saudações povo!
Estou trabalhando com meu primeiro projeto em AS3, e apesar das dores de cabeça da migração 2/3, to gostando demais do troço.
Bom, tenho uma dúvida que parece simples, mais já estou o dia inteiro fuçando a net e tentando por lógica própria mais até agora nada.
O que quero é simples, manipular variáveis e MovieClips de um SWF exportado para o palco principal.
Tenho para fim de exemplo dois arquivos: o "main.swf" e o "empresa.swf"
- O main.swf conta com um menu e toda estrutura base do site, enquanto o empresa.swf contem todas as animações desta página especifica.
- Já conseguir carregar e brincar com essa interação, porem anda não consegui controlar um MovieClip do EMPRESA através do MAIN.
Ex: quero que ao clicar um botão para fazer a troca das páginas, esse evento que está MAIN dispare um play() em um MovieClip dentro de EMPRESA
Já tentei das seguintes formas que vi em outros foruns:
Tentar acessar diretamente a variável loader:
function abrirPagina (paginaEscolhida):void{
var caminhoPagina:URLRequest = new URLRequest(paginaEscolhida);
var loader:Loader = new Loader() ;
loader.load(caminhoPagina);
MovieClip(root).mcFilme.mcFilmeConteudo.mcFilmeConteudoInterno.addChild(loader);
}
function preparaTrasicao ():void{
if(paginaAtual == "home"){
MovieClip(root).mcFilme.mcFilmeConteudo.mcFilmeConteudoHome.play();
}
if(paginaAtual == "interna"){
trace("transição intrerna x interna ativada");
(loader.content as MovieClip).mcFilmeEmpresa.mcFilmeEmpresaConteudo.play(); //ATENÇÃO PARA ESTA LINHA
}
}
Retorna um erro de parâmetro.
E já tentei assim tb transformar o loader em um MC para depois acessa-lo normalmente como um MC, porem a variável filme não recebe nada e acaba retornando um erro pois addChild não aceita null.
function abrirPagina (paginaEscolhida):void{
var filme:MovieClip; //ATENÇÃO PARA ESTA LINHA
var caminhoPagina:URLRequest = new URLRequest(paginaEscolhida);
var loader:Loader = new Loader() ;
loader.load(caminhoPagina);
filme = (loader.content as MovieClip); //ATENÇÃO PARA ESTA LINHA
MovieClip(root).mcFilme.mcFilmeConteudo.mcFilmeConteudoInterno.addChild(filme); //ATENÇÃO PARA ESTA LINHA
}
function preparaTrasicao ():void{
if(paginaAtual == "home"){
MovieClip(root).mcFilme.mcFilmeConteudo.mcFilmeConteudoHome.play();
}
if(paginaAtual == "interna"){
trace("transição intrerna x interna ativada");
MovieClip(root).mcFilme.mcFilmeConteudo.mcFilmeConteudoInterno.filme.mcFilmeEmpresa.mcFilmeEmpresaConteudo.play(); //ATENÇÃO PARA ESTA LINHA
}
}
E ai, to no caminho certo, ou não tem nada haver? alguém tem uma luz?
Julgo que deve ser algo tão bobo, e já perdi um dia atraz da solução.
Desde já agradeço.
Discussão (3)
Carregando comentários...