Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Camilalt

Controlar de swfs importados

Recommended Posts

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.