Ir para conteúdo

POWERED BY:

Arquivado

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

Figuera

Duplicar Movie Clip

Recommended Posts

Eu queria multiplicar um MC varias vezes, fazendo com que esse MC preenchesse todo o documentoExemplo: imagine uma um arquivo de 250 px por 250 px, esse documento tenho um MC, uma bolinha de 25 px por 25 px, eu queria colocar 100 bolinhas, sendo que elas ocupassem posições de forma a ocupar todo o documento.Mas eu queria saber se consigo fazer isso sem ter que colocar manualmente as 100 bolinhas, criando um codigo que duplicasse esse MovieClip e colocando a copia numa posição _x e _y diferente do original, Exemplo: Bolinha1._x = 0 Bolinha2._y = 0 - Bolinha2._x = 25 Bolinha2_y = 25 e assim vai ...Tem algum jeito para mim fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem sim. Vamos por partes:

 

Primeiro vamos duplicar o seu mc de modo que ocupe toda uma linha(lembrando que o ponto de registro do mc bolinha é no canto superior esquerdo):

 

for (var i = 0; i < 10; i++) {	var nova_bola:MovieClip = bola_mc.duplicateMovieClip("bola" + i, i);	nova_bola._x = i * 25;}//Escondendo a bola inicialbola_mc._visible = false;
Até aqui normal. Apenas duplicamos a bola 10 vezes e colocamos nas posições 0, 25, 50, 75, e assim por diante. Agora vamos colocar as colunas:

 

for (var i = 0; i < 100; i++) {	var nova_bola:MovieClip = bola_mc.duplicateMovieClip("bola" + i, i);	nova_bola._x = i % 10 * 25;	nova_bola._y = Math.floor(i / 10) * 25;}//Escondendo a bola inicialbola_mc._visible = false;
Hum... parece que ficou mais complicado :P. Vamos analizar o posicionamento do _x:

[*]Para i = 0 temos: 0%10 = 0 => 0 * 25 = 0

[*]Para i = 1 temos: 1%10 = 1 => 1 * 25 = 25

[*]Para i = 9 temos: 9%10 = 9 => 9 * 25 = 225

[*]Para i = 10 temos: 10%10 = 0 => 0 * 25 = 0

[*]Para i = 11 temos: 11%10 = 1 => 1 * 25 = 25

A propósito: % é a operação que dá o resto de uma divisão. 15 dividido por 10 dá 1 vez e sobra 5. 3 dividido por 10 dá nenhuma vez e sobra 3. Acho que consegui explicar, hehe. Com isso os resultados para _x sempre serão: 0, 25, 50, 75, 100, 125, 150, 175, 200, 225 (e aí repete) 0, 25, 50, etc.

 

Aí, com o _x funcionando direitinho, só falta jogar o _y no lugar certo:

[*]Para i = 0 temos: 0/10 = 0 => 0 * 25 = 0

[*]Para i = 1 temos: 1/10 = 0,1 Arendondando para 0 => 0 * 25 = 0

[*]Para i = 9 temos: 9/10 = 0,9 Arendondando para 0 => 0 * 25 = 0

[*]Para i = 11 temos: 11/10 = 1,1 Arendondando para 1 => 1 * 25 = 25

Ou seja, 0,0,0,0,0,0,0,0,0,0, 25,25,25,25,25,25,25,25,25,25, 50,50,50,50,50,50,50,50,50,50, e assim vai...

 

Resumo da ópera: troque o 10 do _x e do _y pelo número de colunas que desejar.

 

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara te amo!!E o lance de usar o % genial, mais em macete para a coleção.Ah e mais um duvida, bem mais simples agora, eu tenho um variavel , nm, ela contem um string (nm = "bob") possuo um também um MC chamado bob.Eu poderia chamar esse MC, digitando _root.bob, certo.Mas como eu faço para ao invez de escrever bob, chamar o texto da variavel, algo como _root.nm.

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.