Camilalt 0 Denunciar post Postado Janeiro 31, 2006 Oi, pessoal... alguém me ajuda por favor?Seguinte:Tenho 3 swfs, quero q quando abra o filme principal rode o primeiro, 10 seg depois de roda-lo, comece o segundo, e o mesmo com o terceiro voltando para o primeiro. Como faço isso?bjsCamila Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 31, 2006 usando um setInterval pra uma função + um controle de loop Compartilhar este post Link para o post Compartilhar em outros sites
Camilalt 0 Denunciar post Postado Janeiro 31, 2006 Pode me dar um exemplo por favor?Pode me dar um exemplo? Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 31, 2006 Pra ficar bonito você precisa criar uma lista com o nome dos swfs, pra isso o flash tem um objeto chamado Array, você pode criar ele da seguinte forma: var lista:Array = new Array("arquivo0.swf", "arquivo1.swf", "arquivo2.swf"); você vai resgatar o valor da lista a partir do zero, como no exemplo: lista[0]; vai te retornar o primeiro indice do array, lista[1] o segunto e lista[2] o terceiro, pra você ver esse retorno na tela você vai usar um comando chamado trace();, ele não executa nada, apanas te retorna o valor pra você ver o que esta fazendo, você pode testar assim: trace(lista[0]); e ver o retorno que ele esta na tela, feito isso você vai ter que arrumar uma função que manipule esse array, pra exibir na sequencia de 0 a 2, sendo que quando ele for maior que 2 ele precisa voltar a ser 0 correto?Então você cria uma função pra isso: function manipular(){ /* Aqui embaixo vou criar uma condição dizendo que a variável i não conter nada ela vai receber o valor de 0, com isso você pode usar a variável representando um numero */ if(i == undefined) i = 0; /*Agora você vai ver o que ele retorna do array, pois linha é o mesmo que colocar linha[0] */ trace(lista); // Agora vamos somar o valor de i pra sempre aumentar 1 i = i + 1; // e embaixo dizer que se i passar de 2, ele volta a ser 0 if(i > 2) i = 0; } Agora é só usar o setInterval para chamar a função a cada x segundos, lembrando que cada 1000 corresponde a 1 segundo, ele funciona assim setInterval( nome da função, segundos), ficaria assim seu código: setInterval(manipular, 1000); seu código inteiro então ficaria: var lista:Array = new Array("arquivo1.swf", "arquivo2.swf", "arquivo3.swf"); function manipular(){ /* Aqui embaixo vou criar uma condição dizendo que a variável i não conter nada ela vai receber o valor de 0, com isso você pode usar a variável representando um numero */ if(i == undefined) i = 0; /*Agora você vai ver o que ele retorna do array, pois linha[i] é o mesmo que colocar linha[0] */ trace(lista[i]); // Agora vamos somar o valor de i pra sempre aumentar 1 i = i + 1; // e embaixo dizer que se i passar de 2, ele volta a ser 0 if(i > 2) i = 0; } setInterval(manipular, 1000); A partir desse exemplo você precisará dar o comando certo pra executar o que quer no lugar do trace, mas a base é essa ai. Compartilhar este post Link para o post Compartilhar em outros sites
Camilalt 0 Denunciar post Postado Janeiro 31, 2006 O q eu coloco no lugar do trace? Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Fevereiro 1, 2006 Pra puxar um arquivo você precisa usar o loadmovie, faça uma busca no forum que terá um monte de resultados http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Camilalt 0 Denunciar post Postado Fevereiro 1, 2006 Muito obrigada pela ajuda, ja consegui.bjs Compartilhar este post Link para o post Compartilhar em outros sites