_zeh_ 0 Denunciar post Postado Agosto 31, 2009 Seguinte pessoal. Já revirei o GOOGLE e até o forum. mas não achei nada, talvez por que não tenha nem idéia de qual termo utilizar! Tenho procurado assim no google = swf externo controlar swf principal enfim. Tenho um Swf com um MovieClipe que carrega todo o resto do site. Mas nos movie clipes tenho botoes, que tem que disparar ações no swf principal. tudo que encontrei envolve _root e parece ser pra AS2. AS que carrega os swf externos var carrega:Loader = new Loader(); /*carregando o arquivo na variavel carrega*/ carrega.load(MovieClip(root).link); /*verificando os carregamentos*/ carrega.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,carregando); carrega.contentLoaderInfo.addEventListener(Event.COMPLETE,completa); /*funcoes de carregamento*/ function carregando(evt:ProgressEvent):void{ var perc:Number = evt.bytesLoaded/evt.bytesTotal; barra.scaleX = perc; percentual.text = Math.floor(perc*100) + "%"; } function completa(evt:Event):void{ MovieClip(root).container.removeChildAt(0); MovieClip(root).container.addChild(carrega); play(); MovieClip(root).mcCarrega.visible = false; } e no meu externo quefoi carregado, to tentando acessar o principal assim? agencia.addEventListener(MouseEvent.CLICK, tela); function tela(e:MouseEvent):void{ _level0.mcCarrega.visible = false; } Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 1, 2009 É porque você ta procurando por AS 2.0 em vez de procurar no AS 3.0 ;) no AS 3.0 você pode usar parent.parent que você acha o root :) Ou faça seu script todo por classes... assim você não precisa se preucupar mto com isso... e vai ter só 1 timeline para controlar e vai poder usar o MovieClip(root) para tudo( que é o equivalente ao root) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_zeh_ 0 Denunciar post Postado Setembro 1, 2009 É porque você ta procurando por AS 2.0 em vez de procurar no AS 3.0 ;) no AS 3.0 você pode usar parent.parent que você acha o root :) Ou faça seu script todo por classes... assim você não precisa se preucupar mto com isso... e vai ter só 1 timeline para controlar e vai poder usar o MovieClip(root) para tudo( que é o equivalente ao root) Abraços bom eu procurei para AS3 mas nao encontrei. não estou querendo trabalhar neste projeto com OO. você recomendar fazer no swqk externo algo como: parent.parent.mcDoPalcoPrincipal... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 1, 2009 É mais ou menos isso :) Depende muito de quantas camadas... você vai ter carregado antes... para chegar até a timeline... root é a timeline do swf que você está... ou seja se você estiver na timeline de um clip carregado... se você usar root.parent.nome do clip a ser controlado... Você deve conseguir voltar ao Loader que carregou esse swf... e por ai vai. Como você quer trabalhar com OO recomendo que aprenda a usar CLASSES e faça tudo por elas... pois elas são as responsaveis pelo OOP :) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
_zeh_ 0 Denunciar post Postado Setembro 2, 2009 Como você quer trabalhar com OO recomendo que aprenda a usar CLASSES e faça tudo por elas... pois elas são as responsaveis pelo OOP :) na verdade eu não quero trabalhar com OO neste projeto, conheço classe, métodos, atributos objetos pios programo em java e php orientado a objetos. Compartilhar este post Link para o post Compartilhar em outros sites
_zeh_ 0 Denunciar post Postado Setembro 2, 2009 estou trabalhando assim: function tela(e:MouseEvent):void{ // e.target.parent.parent.parent.link = new URLRequest("index.swf"); e.target.parent.parent.parent.MovieClip(root).mcCarrega.gotoAndPlay(2); } não programo em actionScript, mas preciso resolver isto! Quem sabe depois desta aventura eu não me aventure em mais uma linguagem? Sou apenas um estagiário sem suporte que foi ordenado a fazer isto, sendo desconsiderado a minha falta de conhecimento na linguagem. Apenas mais um caso onde manda quem pode, e o estagiário tem de resolver tudo, só pq programa php acham que actionscript é igual (desculpa o desabafo)! abaixo um link com os arquivos! (preciso aprender a pescar essa semana, a nadar já aprendi quando me jogaram no rio sem bóia!). Arquivos Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 2, 2009 Bom ai você tem que fazer algo assim para carregar um arquivo externo: var carrega:Loader = new Loader(); function tela(e:MouseEvent):void{ carregar.load(new URLRequest('carrega.swf')); addChild(carregar); } Ai você vai carregar o swf externo como quer... Se você quiser controlar desse swf o principal ai é com a historia do parent.parent que eu falei ;) Abraços *Obs: bacaninha seu projeto :) *Obs2: "Manda quem pode, obedesce quem tem juizo e quer continuar recebendo salário no final do mês!" Compartilhar este post Link para o post Compartilhar em outros sites