..:: MX Studio Fóruns ::..: Duplicar MC e mandar cada um deles para uma frame - ..:: 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

Duplicar MC e mandar cada um deles para uma frame

#1 User is offline   troika 

  • Group: Membros
  • Posts: 31
  • Joined: 07-January 08

Posted 01 February 2008 - 09:09 AM

Olá eu estou a usar isto:


function randRange(min:Number, max:Number):Number {
var randomNum:Number = Math.floor(Math.random()*(max-min+1))+min;
return randomNum;
}
_root.z._visible = false;
for (var i = 0; i<1; i++) {
var n:Number = randRange(1, 8);
trace(n);

if (n == 1) {
_root.transformer.gotoAndPlay(2);
} else if (n == 2) {
_root.transformer.gotoAndPlay(13);
} else if (n == 3) {
_root.transformer.gotoAndPlay(25);
} else if (n == 4) {
_root.transformer.gotoAndPlay(37);
} else if (n == 5) {
_root.transformer.gotoAndPlay(49);
} else if (n == 6) {
_root.transformer.gotoAndPlay(61);
} else if (n == 7) {
_root.transformer.gotoAndPlay(73);
} else if (n == 8) {
_root.transformer.gotoAndPlay(85);
}
}

Imaginem um maquina em que cai uma bola que depois consoante o "n" vai mandar para o MC "transformer" e transforma essa bola num outro objecto.

Se calhar por exemplo 3 vezes o numero 5 ele vai criar 3 vezes esse objecto, até aqui tudo bem, sem problemas. Mas quero que depois da "criação" ele faça uma animação ja feita. Uso o duplicateMovieClip, ok, mas como ele vai criar vários nomes sempre que necessário e como é que cada um desses novos MC's vão para uma frame correspondente?


Obrigado pela ajuda

Cumps, Gonçalo
0

#2 User is offline   troika 

  • Group: Membros
  • Posts: 31
  • Joined: 07-January 08

Posted 04 February 2008 - 01:05 PM

Olá estou a usar isto mas não funciona...

for (i=100; i<2; i++) {
mc= "verde"+i
duplicateMovieClip("verde", "verde"+i, i);
mc.gotoAndPlay(2);
}

Não está reconhecndo nada, podem me a judar pff?


Cumps, Gonçalo Pimentel

0

#3 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 04 February 2008 - 03:48 PM

Pelo que entendi você quer que esse MovieClip duplicado vá para um frame dentro dele não é isso ?

Pelo que vi no seu código:

QUOTE
for (i=100; i<2; i++) {
mc= "verde"+i
duplicateMovieClip("verde", "verde"+i, i);
mc.gotoAndPlay(2);
}


O que esta acontecendo de cara é que você estabelece o i com valor de "100" e a condição para criar o loop é que i seja menor que "2".
O que nunca vai acontecer, já que você estabeleceu de início que o valor de i é igual a "100"

De cara você ja vai ter que dar um jeito ai.

Depois fazer algumas alterações:

CÓDIGO
for (i=0; i<10; i++) {
duplicateMovieClip("verde", ["verde"+i], i);
_root["verde"+i].gotoAndPlay (2);
}


Lembrando que você vai ter que alterar o valor inicial e final de seu "i" para que corresponda ao que voce quer.

Abraço !

0

#4 User is offline   troika 

  • Group: Membros
  • Posts: 31
  • Joined: 07-January 08

Posted 04 February 2008 - 04:10 PM

Obrigado mesmo, não está ajudando nada em eu ser um nabo.........sad.gif

Mas não deu.... Estou a por o codigo dentro de um MC, ele vai ter que criar fora dele... não sei se afecta muito...

Desculpa mesmo por estas duvidas, sei que é basico para ti.....~~


Obrigadão mais uma vez, se fosse noutro forum, devido a eu ser um nabo, ja me tinha calado ehee

Fica bem, Gonçalo
0

#5 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 04 February 2008 - 04:33 PM

Não precisa ter vergonha de perguntar não !
Todo mundo ja passo por isso e todos sabemos como é.....

Mas voltando ao assundo.

Existe um site chamado RapidShare, que é um portal para compartilhar arquivos.
http://rapidshare.com/

Vá até ele, coloque o seu arquivo no site.
Será gerado um link para que outras pessoas possam fazer download do seu arquivo.
Copie esse link e cole aqui pra que o pessoal possa pegar e olhar seu arquivo para descobrir o que você esta fazendo de errado e tentar te ajudar.

Abraço !
0

#6 User is offline   troika 

  • Group: Membros
  • Posts: 31
  • Joined: 07-January 08

Posted 06 February 2008 - 08:17 AM

Não sei como te agradecer...


http://rapidshare.com/files/89580230/Genio...le_113.fla.html


Na layer "transformer" tem la o mc de instancia "transformer" e na frame 12 tem la o codigo que estou a tentar que funcione sad.gif

O movie clip (verde) que estou a tentar duplicar várias vezes encontra-se na layer 12

Já agora, quando ele duplica um mc, calculo que ele também copia o AS que esta dentro dele, certo?


Se o pessoal não se importar de dar uma vista de olhos agradecia muito, ja ando com isto as voltas ha uns bons dias e deve ser tão simples :s

Obrigadão

Gonçalo
0

#7 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 06 February 2008 - 06:08 PM

Basta trocar as Actions do seu último frame por essas:

CÓDIGO
var n:Number = random(8);
trace ("O número sorteado foi: "+n);
if (n == 0) {
_root.transformer.gotoAndPlay(2);
} else if (n == 1) {
_root.transformer.gotoAndPlay(13);
} else if (n == 2) {
_root.transformer.gotoAndPlay(25);
} else if (n == 3) {
_root.transformer.gotoAndPlay(37);
} else if (n == 4) {
_root.transformer.gotoAndPlay(49);
} else if (n == 5) {
_root.transformer.gotoAndPlay(61);
} else if (n == 6) {
_root.transformer.gotoAndPlay(73);
} else if (n == 7) {
_root.transformer.gotoAndPlay(85);
}


Isso vai funcionar pelo que vi.

Abração !
0

#8 User is offline   troika 

  • Group: Membros
  • Posts: 31
  • Joined: 07-January 08

Posted 07 February 2008 - 07:25 AM

Obrigado pela tua paciência, rolleyes.gif mas o meu problema não está nessas Actions. Tinha essas assim de proposito (queria limitar o random para experiencias).


Dentro do Movie Clip "Shape Transform" na frame 12 tenho la umas Actions de um duplicateMovieClip. Este MC vai continuar a animação do objecto criado pelo random. É isso que não consigo fazer...

o que tá lá é isto...

for (i=0; i<10; i++) {
duplicateMovieClip("verde", ["verde"+i], i);
_root["verde"+i].gotoAndPlay(2);
}


Simplesmente isto nao me cria o MC, não sei porque... huh.gif


Abraço,

Cumps, Gonçalo
0

#9 User is offline   ubi_rj 

  • Group: Moderador Global
  • Posts: 2920
  • Joined: 29-June 07

Posted 07 February 2008 - 04:57 PM

Então, pelo que você explicou o que eu estou eprcebendo é que o caminho do MovieClip está errado.

Olha só:

Se o MovieClip que vai ser duplicado está dentro de um MovieClip chamdo de "Shape_Transform", ná hora de executa-lo você precisa especificar corretamente o local....

for (i=0; i<10; i++) {
duplicateMovieClip("verde", ["verde"+i], i);
_root.Shape_Transform["verde"+i].gotoAndPlay(2);
}

Entendeu ?

Porque ele não vai ser copiado e enviado para o _root, ele vai ser copiado e permanecerá no mesmo local do original !

Abraço !

0

#10 User is offline   troika 

  • Group: Membros
  • Posts: 31
  • Joined: 07-January 08

Posted 08 February 2008 - 07:52 AM

Olá , isto vai aqi uma confusão... mas já não vai haver mais.

for (i=0; i<10; i++) {
duplicateMovieClip([verde,"verde"+i],i);
_root["verde"+i].play();

O que eu não sabia era o uso dos [ ]'s,(aprendi contigo numa ajuda anterior) e como ja tinha experimentado n de vezes corrigir, ora pondo _root, ou trocando outra coisa qq para ver se dava, pensava que tinha tudo bem.


O que tenho é isto, e já da +/- bem. Era fora do MC que queria


for (i=0; i<10; i++) {
_root.verde.duplicateMovieClip(["verde"+i],i);
_root["verde"+i].play();
}


Uma coisa que reparei é que ele não incrementa os "duplicates", porque este "for" so "entra" na ultima frame da animação do objecto criado. Isto é, ele não vai duplicar porque sempre que entra a animação do objecto criado é como se começasse do zero. Queria fazer algo do género para compensar, mas também não funciona:

for (i=0; i<100; i++) {
_root.verde.duplicateMovieClip(["verde"+i],i++);
if (["verde"+i].currentFrame>=2) {
for (j=0; i<100; j++) {
_root.verde.duplicateMovieClip(["verde"+j],j++);


}
}
}
Calculo que seja aqui o erro: if (["verde"+i].currentFrame>=2) Não sei se é assim que se nomeia o MC criado pelo duplicate



Desculpa fazer-te perder tempo com estas coisinhas, só tenho que te agradecer muito! thumbsup.gif

Cumps, Abraço

Gonçalo Pimentel
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)