Ir para conteúdo

Arquivado

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

divertoso

[Resolvido] Como obter uma instancia do MovieClip clicado no Tile

Recommended Posts

Olá galera

 

Tenho um TileList populado de Movies clips...

 

Nesse TileList tem um Listener que chamará uma funçao e vai 'inserir uma cópia do MovieClip no palco'

 

minha dúvida é: como obter essa instância do MovieClip?

 

//meu TileList
tileGeral.addEventListener(ListEvent.ITEM_CLICK,tileListStartDrag);

function tileListStartDrag(e:Event){
trace("tileListStartDrag()");
//trace(e.target.source);

var mc:MovieClip= new MovieClip();

mc = //obter a instancia do MovieClip;

palco.addChild(mc);

}

 

actionscriptDuvida.jpg

 

 

vlws

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer listar os MovieClips, ou os MovieClips com linkage?

 

entao...no tile list já estao meus movies clips (com linkage) quando clicar, quero dar um addChildo do item clicado no palco

 

tileGeral.addEventListener(MouseEvent.MOUSE_DOWN,clicouItemLista);

function clicouItemLista(e:Event){

//-----------------------exemplo do que aparece no console quando clico em algum item
trace(e.target.source);//mc_cadeira
trace(e.target.name);  //instance198
trace(e.target.data);  //[object Object]
trace(e.target);       //[object ImageCell]



var m:MovieClip = e.target.source as MovieClip; // <--isso nao da certo

palco.pu.addChild(m);

}

 

esse é o erro que da qnd clico no item:

TypeError: Error #2007: O parâmetro child não deve ser nulo.
at flash.display::DisplayObjectContainer/addChild()
at AS::Hq/clicouItemLista()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta usar:

var mc:MovieClip = new e.target.constructor;

addChild(mc);

Para os MovieClips que tem linkage.

 

vlws marcão!!! deu certo!

 

me diga uma coisa:

 

Eu tenho um MovieClip com varios movies clipes dentro, quero atribuir o mesmo eventListener para todos os filhos:

 

quero substituir isso:


menu.menuItem.agT.tileBal.c1.addEventListener(MouseEvent.MOUSE_DOWN,teste);
menu.menuItem.agT.tileBal.c2.addEventListener(MouseEvent.MOUSE_DOWN,teste);
menu.menuItem.agT.tileBal.c3.addEventListener(MouseEvent.MOUSE_DOWN,teste);
menu.menuItem.agT.tileBal.c4.addEventListener(MouseEvent.MOUSE_DOWN,teste);
menu.menuItem.agT.tileBal.c5.addEventListener(MouseEvent.MOUSE_DOWN,teste);

 

por algo assim:


for (var i:int=1; i<6 ;i++){

menu.menuItem.agT.tileBal.c[i].addEventListener(MouseEvent.MOUSE_DOWN,teste);

}

 

mas nesse caso dá erro:

TypeError: Error #1010: Um termo é indefinido e não tem propriedades.

 

parece q o as nao aceita o esquema dde substituir um pedaço do nome do movieclip por uma variavel...

 

tem alguma idéia?

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.