Ir para conteúdo

POWERED BY:

Arquivado

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

fabiodurgante

[Resolvido] remover MC do array

Recommended Posts

tenho um array com MC

var per_rand:Array = [per2,per3,per4,per5,per6,per7]

//nesse array faco o seguinte para deichar aleatorio

function aleatorio(a,B):int {
return Math.round(Math.random()*2)-1;
}


per_rand.sort(aleatorio);
fica tudo certo e agora quero remover em determinado momento o MC que estiver na posicao 4 do array per_rand

 

 

EX:per_rand[4] quero remover do array essa posciao com seu MC q estiver nela, depois disso quero fazer uma novo sorteio aleatorio

 

per_rand.sort(aleatorio);

com os restantes MC do array

 

tentei usaro pop porem ele remove o ultimo elemento do array, nao funciona no meu caso alguem tem alguma ideia ???????

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode tentar utilizar o splice() pra isso, mas não sei se seria a melhor opção nesse caso, dá uma olhada:

 

var vegetables:Array = new Array("spinach",
				 "green pepper",
				 "cilantro",
				 "onion",
				 "avocado");

var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced);	// cilantro,onion

vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
http://livedocs.adobe.com/flash/9.0/Action...y.html#splice()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou responder com a resposta do carenerinho de 2005 :)

 

var remover:String = 'per2';
var per_rand:Array = ['per2','per3','per4','per5','per6','per7'];
var i:Number = per_rand.length;
while (i--){
	if (per_rand[i] == remover){
		per_rand.splice(i,1);
	}
}
trace(per_rand);

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai cara valeu sua logica porem nao deu resultado e fiz o seguinte nela

 

 

var remover:String =MovieClip(root).per2;

var i:int = MovieClip(root).per_rand.length;

while (i--){

if (MovieClip(root).per_rand == remover){

MovieClip(root).per_rand.splice(i,1);

}

}

trace(MovieClip(root).per_rand);

 

 

isso ai resolveu beleza embora nao entendi em uma variavel String eu atribui nela um objeto

 

var remover:String =MovieClip(root).per2;

 

nao faz sentido, mas assim funcionou beleza

valeu ai pela ajuda denovo

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.