..:: MX Studio Fóruns ::..: addChild e removeChild - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

addChild e removeChild

#1 User is offline   geekionizado 

  • Group: Membros
  • Posts: 6
  • Joined: 26-February 11

Posted 16 July 2011 - 11:47 PM

Galera, preciso disso aqui:

for (var i:Number=0;i<3;i++) {
adicionar 3 childs
}

for (i=0;i<3;i++) {
remover essas 3 childs que foram adicionadas
}

Eu preciso adicionar 3 movie clips e depois removê-los para adicionar de novo. Adiciono 3, removo 2 pra adicionar 3 de novo. Alguém poderia me ajudar? Já procurei em todo lugar, mas é muito confuso! Valeu!
0

#2 User is offline   Rodrigo Pixel 

  • Group: Moderadores
  • Posts: 1279
  • Joined: 07-May 07

Posted 17 July 2011 - 06:03 PM

Veja esse exemplo:

Criei um movieclip e nomeei o linkage desse mc para "Bola". Linkage serve pra conseguir adicionar via código objetos que estão na biblioteca.
Se precisar usar linkage, aqui explica como configurar: http://www.joww.net/...esta-o-linkage/

Depois adicionei cada mc via loop for no stage. Também adicionei dentro de um array pra conseguir depois manipular quando precisar. Por exemplo, quando quiser remover do stage.

Apliquei um evento de click, quando clicar em um deles será removido do stage e também da lista.

/*******************
* VARIABLES -  configura aqui
*******************/

var listaObjetos:Array = [];	//vai receber objetos
var quantidade:uint = 5;	//quantos objetos quer adicionar no stage via loop for
var metadeLargura:Number = (stage.stageWidth/2); //referencia pra posicionar objetos
var metadeAltura:Number = (stage.stageHeight/2); //referencia pra posicionar objetos

//inicia aqui...
adicionaElementoNaLista();



/*******************
* FUNCTIONS
*******************/

function adicionaElementoNaLista():void
{
	var mc:MovieClip; //vai representar od mc da biblioteca
	for(var i:uint=0; i<quantidade; ++i)
	{
		mc = new Bola(); 						//nome linkage "Bola", objeto/movieclip na biblioteca que quer adicionar via código
		mc.x = metadeLargura + i * (mc.width + 10); 			//adiciona no meio do stage posicionando cada um lado a lado
		mc.y = metadeAltura; 						//no meio
		mc.id = i+1;							//variável temporária pra armazenar o id(posição no aray)
		mc.addEventListener(MouseEvent.CLICK, quandoClicarRemove); 	//adiciona evento de click
		addChild(mc);							//adiciona no stage pra ficar visível
		
		listaObjetos.push(mc); 	//adiciona na lista array pra poder manipular depois quando remover
		trace("id: "+ uint(i+1));
	}
	
	trace("* adicionou "+ listaObjetos.length +" objetos na lista\n");
}


function removeElementoDaLista(mc:MovieClip, id:uint):void
{
	removeChild(mc);					//remove do stage pra não aparecer mais
	mc.removeEventListener(MouseEvent.CLICK, quandoClicarRemove); 	//remove evento de click
	listaObjetos.splice(mc.id-1, 1);			//remove 1 elemento da lista
	
	trace("\n* removeu objeto id "+ mc.id +" da lista");
}


//função de evento click
function quandoClicarRemove(e:MouseEvent):void
{
	var mc:MovieClip = MovieClip(e.currentTarget); 	//pega o elemento atual que foi clicado e armazena na variável
	removeElementoDaLista(mc, mc.id);		//pede pra remover da lista esse elemento/id(posição do array)
}


Arquivo CS4:
http://www.mediafire...qhcmj3zgwe7ajwc

Abraço.
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)