Leo KW 0 Denunciar post Postado Julho 10, 2009 Fala galera, Eu tenho um mc vazio que puxa uns swf externos, eu queria fazer um código pra que ao terminar de executar o flash externo 1, ele passar pro 2 e assim por diante, até que chegando no ultimo voltar pro primeiro. Creio que não seja muito dificil, eu tenho esse código aqui, mais ele não passa de 1 pro outro quando acaba, ele acaba o primeiro e fica parado no final dele. //Cria as matrizes var swfs:Array = new Array(); cores[0] = "banner1"; cores[1] = "banner2"; cores[2] = "banner3"; cores[3] = "banner4"; /*Evita que um banner seja repetido em seguida No caso ele chama uma função que tem nome de "randomiza" Antes de tudo, tem uma variavel que se chama lastRandom = -1; ela seria o último número randomizado. Na função, ele faz o primeiro random.. dae ele faz um loop while, que diz "enquanto o número random for igual ao último número randomizado, tenta randomizar de novo..." */ lastRandom = -1; function randomiza(numMax) { numRandom = random(numMax); while (lastRandom == numRandom) { numRandom = random(numMax); } lastRandom = numRandom; return numRandom; } //Função que cria o random. function MostraSwf() { i = randomiza(3); //trace(i); if (i == 0) { loadMovie("banner_home1.swf", "recebeswf"); } else if (i == 1) { loadMovie("banner_home2.swf", "recebeswf"); } else if (i == 2) { loadMovie("banner_home3.swf", "recebeswf"); } else if (i == 3) { loadMovie("banner_home4.swf", "recebeswf"); } } MostraSwf(); stop(); //Função dos botões btn1.onPress = function() { loadMovie("banner_home1.swf", "recebeswf"); }; btn2.onPress = function() { loadMovie("banner_home2.swf", "recebeswf"); }; btn3.onPress = function() { loadMovie("banner_home3.swf", "recebeswf"); }; btn4.onPress = function() { loadMovie("banner_home4.swf", "recebeswf"); }; //Posiciona o movieclip vazio //recebeswf._x = 100; //recebeswf._y = 150;Preciso fazer em cima desse código!Abraços! ;) Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Julho 11, 2009 Conforme o aviso existente no fórum de origem deste post, não é permitida a postagem de dúvidas nesta área, motivo pelo qual este tópico será movido para o fórum principal deste assunto. Tópico Movido Origem: Artigos, Tutoriais e Matérias (Flash) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: Flash & ActionScript Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 12, 2009 //Cria as matrizes var swfs:Array = new Array(); cores[0] = "banner1"; cores[1] = "banner2"; cores[2] = "banner3"; cores[3] = "banner4"; /*Evita que um banner seja repetido em seguida No caso ele chama uma função que tem nome de "randomiza" Antes de tudo, tem uma variavel que se chama lastRandom = -1; ela seria o último número randomizado. Na função, ele faz o primeiro random.. dae ele faz um loop while, que diz "enquanto o número random for igual ao último número randomizado, tenta randomizar de novo..." */ lastRandom = -1; function randomiza(numMax) { numRandom = random(numMax); while (lastRandom == numRandom) { numRandom = random(numMax); } lastRandom = numRandom; return numRandom; } //Função que cria o random. function MostraSwf() { i = randomiza(3); //trace(i); if (i == 0) { loadMovie("banner_home1.swf", "recebeswf"); } else if (i == 1) { loadMovie("banner_home2.swf", "recebeswf"); } else if (i == 2) { loadMovie("banner_home3.swf", "recebeswf"); } else if (i == 3) { loadMovie("banner_home4.swf", "recebeswf"); } } MostraSwf(); stop(); //Função dos botões btn1.onPress = function() { loadMovie("banner_home1.swf", "recebeswf"); }; btn2.onPress = function() { loadMovie("banner_home2.swf", "recebeswf"); }; btn3.onPress = function() { loadMovie("banner_home3.swf", "recebeswf"); }; btn4.onPress = function() { loadMovie("banner_home4.swf", "recebeswf"); }; //Posiciona o movieclip vazio //recebeswf._x = 100; //recebeswf._y = 150; O que você pode fazer é colocar um onEnterFrame que fique verificando o _currentframe se é igual ao totalframes do clip desejado... caso for ele carrega o proximo clip da array... se ele chegar ao ultimo ele simplesmente zera o a array e começa novamente. Abraços ps: Num sei pq... mas acho que já vi esse código antes??? num topico que eu postei =X Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Julho 13, 2009 O que você pode fazer é colocar um onEnterFrame que fique verificando o _currentframe se é igual ao totalframes do clip desejado... caso for ele carrega o proximo clip da array... se ele chegar ao ultimo ele simplesmente zera o a array e começa novamente. Abraços ps: Num sei pq... mas acho que já vi esse código antes??? num topico que eu postei =X Fala berseck, Eu tinha procurado o outro tópico e não tinha achado, achei que tinham deletado, por isso fiz outro, pode apagar aquele então! malz msm! então cara, é isso mesmo que eu quero fazer, algo que confere se o clipe atual ja chegou no ultimo frame, caso tenha chego, ele carrega o proximo clipe da array, você pode me dar alguma dica de como fazer isso na pratica?! To com essa bomba na mão ja faz tempo e até agora não consegui resolver! =/ Abraços! ;) Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 13, 2009 Testei não ;) Mas se a lógica estiver correta vai funcionar var mc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth()); var arr:Array = new Array('banner_home1.swf','banner_home2.swf','banner_home3.swf','banner_home4.swf');//Pode acrescentar + aqui se quiser var i:Number = 0; mc.loadMovie(arr[i].toString());//tire o toString() caso não esteja abrindo os banners mc.onEnterFrame = function(){ if(_currentframe == _totalframes){ if(i < arr.length){ i++; }else { i = 0; } mc.loadMovie(arr[i].toString()); } } Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Leo KW 0 Denunciar post Postado Julho 14, 2009 Testei esse seu código, mas ele não passa os banners, ele abre sempre o primeiro, e quando acaba ele não passa pro segundo...fica parado no final do primeiro banner! Abraços! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Julho 14, 2009 Sabia que tava esquecendo de algo :P Segue: var mc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth()); var arr:Array = new Array('varilux_300x250.swf','varilux_468x300.swf','varilux_728x90.swf');//Pode acrescentar + aqui se quiser var i:Number = 0; mc.loadMovie(arr[i].toString());//tire o toString() caso não esteja abrindo os banners onEnterFrame = function(){ if(mc._currentframe == mc._totalframes){ if(i < arr.length){ i++; mc.loadMovie(arr[i].toString()); }else { i = 0; mc.loadMovie(arr[i]); } } } E veja que dessa vez eu testei heim xD Abraços Compartilhar este post Link para o post Compartilhar em outros sites