laraujo 0 Denunciar post Postado Maio 31, 2006 Alguém sabe se é possível fazer sorteio de Camadas?Tipo assim, cada vez que o .swf for carregado ele vai para uma camada diferente é mostra a animação que esta nessa camada animação diferente. Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Maio 31, 2006 Não tem como você selecionar camadas diferentes, mas tem como sortear MovieClips diferentes. Primeiro selecione todos os frames de uma das camadas e, com o botão direito, selecione Cut Frames. Aperte Ctrl+F8 para criar um movieclip vazio (aqui pode dar o nome que quiser). Com o botão direito de novo dê um Paste Frames no único frame que tem. Volte para a timeline principal e faça isso com as outras camadas. Depois abra a biblioteca (F11) e arraste os movie clips que você criou para o palco. Dê a cada um, um nome de instância (clique no mc e vá no painel Properties) com uma ordem lógica (por exemplo "camada1" e "camada2", etc). Aí crie uma nova camada com o nome de Actions, selecione o primeiro frame dela e aperte F9 para entrar no painel Actions. Digite: var total:Number = 5//troque o número pelo total de movie clipsfor (var i:Number = 1; i < total; i++){//cria um "atalho" para cada movievar movie:MovieClip = eval("_root.camada"+i);//faz todos pararem no frame 1movie.gotoAndStop(1);}//sorteando um para dar um play_root["camada"+(random(total)+1)].play(); Qualquer coisa poste aí, flw Compartilhar este post Link para o post Compartilhar em outros sites
laraujo 0 Denunciar post Postado Maio 31, 2006 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Valeu pela explicação, mas não deu muito certo... Pois quando eu abro o .swf ele mostra as duas camadas no palco e o objetivo é mostrar aleatório, uma ou outra, ele mostras as duas. E quando eu coloco 2 em (var total:Number = 2) , estou usando dois clips, ele anima os dois movie clips, para o efeito ser aleatório eu tenho que colocar 3 Sugestões?? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Junho 1, 2006 Opa, desculpa Laraujo, eu errei no laço for: for (var i:Number = 1; i <= total; i++){ ^ menor ou igual E para fazer sumir as camadas você pode adicionar essa linha depois do stop: movie._visible = false; E depois é só ajeitar para que a camada escolhida fique visível: var sorteado:MovieClip = eval("camada"+(random(total)+1));sorteado.play();sorteado._visible = true; Abraço Compartilhar este post Link para o post Compartilhar em outros sites
laraujo 0 Denunciar post Postado Junho 2, 2006 Antoniosp, Valeu pela força mas ainda não esta do jeito que eu imaginei, estou fazendo o teste desse código com dois movie clips, o primeiro aparece sozinho quando é sorteado, mas quando o segundo é sorteado aparece os dois movies, e tb tem hora que anima os dois. Não sei se meu código esta errado: var total:Number = 2//troque o número pelo total de movie clipsfor (var i:Number = 1; i <= total; i++){//cria um "atalho" para cada movievar movie:MovieClip = eval("_root.camada"+i);//faz todos pararem no frame 1movie.gotoAndStop(1);}movie._visible = false;var sorteado:MovieClip = eval("camada"+(random(total)+1));sorteado.play();sorteado._visible = true;//sorteando um para dar um play_root["camada"+(random(total)+1)].play(); A ideia é cada hora que eu abrir o .swf apareça um movie e o outro não selecionado não apareça. Obrigado!!!!! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Junho 2, 2006 Deixe o primeiro frame de todos os movieclips vazio com a ação stop(); se a idéia é o movieclip ficarem loop, no ultimo frame de cada mc coloque a ação gotoAndPlay(2); agora é só sortear um no palco assim: var total:Number = 5; clearInterval(agonia); agonia = setInterval( function(){ _root["camada"+(random(total)+1)].play(); clearInterval(agonia); }, 500); Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Junho 2, 2006 É, eu tentei ir por um caminho mais fácil mas acabei só complicando... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif Vou deixar aqui como eu tinha pensado, mas faz do jeito do carneirinho que tb dá. var total:Number = 5for (var i:Number = 1; i <= total; i++){var movie:MovieClip = eval("_root.camada"+i);movie.gotoAndStop(1);movie._visible = false;}var sorteado:MovieClip = eval("camada"+(random(total)+1));sorteado.play();sorteado._visible = true;Flw! Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Junho 2, 2006 Então Antonio, você só precisa tomar um certo cuidado com o tempo de execução do Flash, se você fizer um movieclip animando por exemplo uma bola andando em 20 frames, ai você coloca um stop(); no primeiro frame e da o nome de instancia pra ele de "bola", dai joga ele na timeline principal e todo feliz você coloca a ação no primeiro frame: bola.gotoAndPlay(2); ele não vai funcionar, porque prineiro ele carrega a timeline do palco, depois a ação e depois os frames do movieclip, ele vai ficar parado, você vai querer dar nó no saco, va ver que outras propriedades vão funcionar, como _alpha e tal, menos essa, então tome cuidado com essas frescuras do flash. abraço Compartilhar este post Link para o post Compartilhar em outros sites
Antoniosp 2 Denunciar post Postado Junho 3, 2006 A tá, valeu pela dica, ó grande carneirinho! http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif :P Hehe, brincadeira. Mas vou tomar mais cuidado. http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif Abraço Compartilhar este post Link para o post Compartilhar em outros sites
laraujo 0 Denunciar post Postado Junho 5, 2006 Legal!!Agora funcionou.Mas como eu faço para o clip que não foi selecionado não apareça?Quero que só apareça no palco o clip sorteado. Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Junho 5, 2006 Se o frame vazio é o 1, é só colocar um gotoAndStop(1); Compartilhar este post Link para o post Compartilhar em outros sites