Ir para conteúdo

POWERED BY:

Arquivado

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

ilipe

root em as3

Recommended Posts

pessoal...

 

Criei um swf chamado "index.swf" que carrega um swf externo chamado "filme2.swf" no clipe de filme chamado "clploader"

No "filme2.swf" tem um clipe de filme chamado "bola".

Pois bem, no "index.swf" criei um botao para que quando clicado mexa o clipe "bola" que está no "filme2.swf", carregado externamente no "clploader" dentro do "index.swf".

Aí que está o problema...qual o caminho deste clipe bola?

 

em as2 seria: _root.clploader.bola.x=50

mas e em AS3?

 

já rodei muito pela net e nao achei solução

 

obrigado pela ajuda !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei se entendi o que você quer, mas você já tentou usar MovieClip(root) ao invés de _root ?

 

Mas aí fica: MovieClip(root).clploader.bola.alpha = 0... tb ja tentei MovieClip(root.clploader.bola).alpha = 0

nenhum dos dois vai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adaptação técnica simplificada:

 

 

root["clploader"].bola.x = 50;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há, um detalhe... isso só funciona se o objeto já estiver no swf, como você está trazendo de fora então, supondo que o seu objeto Loader é o clploader, então ficaria assim:

 

root["clploader"].contentLoaderInfo.content.bola.x = 50;

Agora sim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar aqui outra solução plausivel

 

Crie um arquivo normal onde vai ser seu root

E coloque o seguinte código nele:

var mc:MovieClip = new MovieClip();
addChild(mc);
var loader:Loader = new Loader();
loader.load(new URLRequest('popup.swf'));

addChild(loader);

Assim você cria um novo arquivo onde vai se chamar popup

Ai você cria um botao fechar com instancia de fecha

 

E coloca o seguinte código no frame:

fecha.addEventListener(MouseEvent.CLICK, onClick);
var _root = parent.parent;

function onClick(e:Event){
    _root.removeChildAt(2);
}

Se você reparar eu tive que puxar o parent do parent para encontrar o root...

Pois por algum motivo não é encontravel o root diretamente... quando você digita root ou MovieClip(root)

Você esta ainda sim indicando o root no clip carregado... e não o root onde ele foi carregado.

 

E essa foi uma das varias soluções que eu já encontrei. Para resolver esse tipo de problema.

 

Abraços

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.