Publicidade
|
|
Page 1 of 1
Duplicar MC e mandar cada um deles para uma frame
#1
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
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
#2
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
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
#3
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:
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:
Lembrando que você vai ter que alterar o valor inicial e final de seu "i" para que corresponda ao que voce quer.
Abraço !
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);
}
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);
}
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 !
#4
Posted 04 February 2008 - 04:10 PM
Obrigado mesmo, não está ajudando nada em eu ser um nabo.........
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
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
#5
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 !
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 !
#6
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
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
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
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
#7
Posted 06 February 2008 - 06:08 PM
Basta trocar as Actions do seu último frame por essas:
Isso vai funcionar pelo que vi.
Abração !
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);
}
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 !
#8
Posted 07 February 2008 - 07:25 AM
Obrigado pela tua paciência,
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...
Abraço,
Cumps, Gonçalo
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...
Abraço,
Cumps, Gonçalo
#9
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 !
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 !
#10
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!
Cumps, Abraço
Gonçalo Pimentel
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!
Cumps, Abraço
Gonçalo Pimentel
Share this topic:
Page 1 of 1
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
projecto de montagem de uma gráfica convencional
projecto de viabilidade económica para montagem de uma gráfica convenc |
Processos Gráficos |
afonso fernando savanguane
|
|
|
|
sem loader, conteúdo a definir
Apenas para avaliação dos nobre colegas do forum |
Avaliação |
mandaproleo
|
|
|
|
Só Zé Roberto e Rogério Ceni explicam derrota para
IDG Now! - Internet |
Notícias |
TiTi Celestino
|
|
|
|
URGENTE
colocando link dentro de uma lisbox |
Dreamweaver |
ricardoelias
|
|
|
|
Operadoras são prejudicadas ao vender iPhone, diz pesquisa
|
Notícias |
Notícias
|
|
|
|
Internet Discada
Ubuntu |
Plataforma Linux e Software Livre |
Wanderson Regis
|
|
|
|
Jogo para iPhone que sacode bebê é retirado da App Store
|
Notícias |
Notícias
|
|
|
|
Editar o código
Como fazer para editar código e layout |
Dreamweaver |
riva.gon
|
|
Publicidade
|
|

Help













