Ir para conteúdo

POWERED BY:

Arquivado

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

marcos.cardoso

Contador em instance name

Recommended Posts

Boa tarde a todos,

minha dúvida é a seguinte: Gostaria de saber como faço para utilizar um contador para completar o nome de instância de um objeto.

 

Por exemplo: tenho vários objetos que se chamam alvoa1_mc, alvoa2_mc, alvoa3_mc, .. etc.

 

Fiz um código que é o seguinte:

 

for (i = 0; i < 7; i++) {
	if (alvoa[i]_mc.hitTest(_root._xmouse, _root._ymouse)) {
		alvoa[i]_mc.attachMovie(this._name,"a_mc",1,{_x:0, _y:0});
		if (this._name == "mc_a") {
			alvoa[i]_mc.ver = true;
		} else {
			alvoa[i]_mc.ver = false;
		}
	}
}
Assim, percorro o meu contador e consequentemente meus objetos.

Idealizei isso para tentar reduzir a quantidade de linhas de código. No entanto, deu errado, ou... não deu certo.

Será que é possível fazer alguma coisa assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhando por alto... você está utilizando como critério na condição um objeto que ainda não está no palco (attachado)...

Outra dica, utilize o "trace".

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não. Os objetos que estou utilizando já estão no palco. Os que não estão no palco são outros objetos (letras a, e, i, o, u) que são arrastáveis. Então quando essas letras arrastáveis estiverem e forem soltas em cima do alvoa1_mc ai a letra vai ser duplicada (attachada).

 

Os objetos que usam o contador no caso ja estão no palco

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça assim:

for (i = 0; i < 7; i++) {
        if (alvoa[i]_mc.hitTest(_root._xmouse, _root._ymouse)) {
                alvoa[i]_mc.attachMovie(this._name,"a_mc"+i,1,{_x:0, _y:0});
                if (this._name == "mc_a") {
                        alvoa[i]_mc.ver = true;
                } else {
                        alvoa[i]_mc.ver = false;
                }
        }
}
Pronto ta com o nome diferente ;)

 

Ai se você quiser guardar a variavel eu aconselho criar uma var responsavel por isso... tipo:

var mc:MovieClip = alvoa[i]_mc.attachMovie(this._name,"a_mc"+i,1,{_x:0, _y:0});

Ai você trabalha com a mc que vai ter o nome de a_mc1... a_mc2 etc

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

if (alvoa_mc.hitTest(_root._xmouse, _root._ymouse)) { <----- vai dar erro simplesmente

 

Pq não exite nada alvoa com _mc ...

 

teria que por +_mc

ou seja re criar o nome

assim:

 

for (i = 0; i < 7; i++) {
        alvoa[i] = "ao que você quer";
        if (alvoa[i].hitTest(_root._xmouse, _root._ymouse)) {
                alvoa[i].attachMovie(this._name,"a_mc"+i,1,{_x:0, _y:0});
                if (this._name == "mc_a") {
                        alvoa[i].ver = true;
                } else {
                        alvoa[i].ver = false;
                }
        }
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Claro que reconhece....

 

se você fizer varios clips... e intancialos como eu já fiz para você em um topico anterior... colocando numa array...

 

Assim:

var arr:Array = new Array(mc_1,mc_2,mc_3,mc_4,mc_5);

Onde o mc_1 é a instancia do clip... ele reconhece sim qual é o clip

Se você colocar trace(arr[1]) com exemplo vai retornar o objeto mc_2

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas isso é com array cara. O que eu to falando é de vários objetos no palco que tenham nomes de intância consecutivos.

Com array e instance name atribuido em duplicate ou attachMovie tudo bem, sei que da certo. Mas em nome de instância de objeto que ta no palco? Seria uma surpresa pra mim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué o objeto estando no palco com instancia...... é exatamente a mesma coisa...

 

Afinal todos os meus objetos tinham a instancia no palco já......

 

E eu simplesmente criei uma array onde tinha todos esses nomes... o que você deve fazer é ir adicionando a uma array todos esses novos nomes... como se adiciona um dado a uma array... como outra qualquer... e se por acaso você deletar o item você procura dentro da array o item e remove simplesmente.

 

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.