Ir para conteúdo

POWERED BY:

Arquivado

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

klaulins

Para setInterval

Recommended Posts

No meu filme, carrego uns botões (6) com um intervalo de 5segundos (beleza... consigo usando o setInterval),mas eles ficam carregando sem parar!Como faço pra dizer que: quando carregado todos os botões, parar o setInterval?Valeu!esse é o code://carrega botõesfunction espera() {_root.attachMovie("bt_MC", "bt_01", 1); bt_01._x = 136; bt_01._y = 195;}setInterval(espera, 4000);Claudio Lins

Compartilhar este post


Link para o post
Compartilhar em outros sites

com uma pequena mudança no seu codigo isso pode ser feito//carrega botõesvar counter = 0function espera() {_root.attachMovie("bt_MC", "bt_0"+counter, counter+1);bt_01._x = 136;bt_01._y = 195;counter++if (counter == 5){clearInterval(intervalo)}}var intervalo = setInterval(espera, 4000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Chan... valeu pelo code.Só tem uma coisa, ele carrega todo os 5 botões, mas somente um fica na localização correta, os outros carregam um em cima do outro.O que eu queria é fazer com que cada um carregasse lado alado.Como faço isso?Valeu novamente!

com uma pequena mudança no seu codigo isso pode ser feito//carrega botõesvar counter = 0function espera() {_root.attachMovie("bt_MC", "bt_0"+counter, counter+1);bt_01._x = 136;bt_01._y = 195;counter++if (counter == 5){clearInterval(intervalo)}}var intervalo = setInterval(espera, 4000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

var counter = 0

function espera() {

_root.attachMovie("bt_MC", "bt_0"+counter, counter+1);

a = eval('bt_0' + counter);

b = eval('bt_0' + (counter - 1));

if(counter == 0){

a._x = 136;

a._y = 195;

} else {

a._y = 195;

_global.w = a._width;

_global.pos = a._x;

a._x = (b._x + w) + 10;

i=0;

}

counter++;

if (counter == 5)

{

clearInterval(intervalo)

}

}

var intervalo = setInterval(espera, 4000);

Compartilhar este post


Link para o post
Compartilhar em outros sites

S´mais uma coisa... não consigo aplicar ações pra esse MC como onRelease, onPress, etc.as instâncias são: bt_00, bt_01, bt_02, bt_03.tentei assim:_root.bt_00.onRelease = function(){ trace("Botão 00");}mas não rola!Alguem tem ideia de como resolver?Valeu!Claudio Lins

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra isso o ideal é você usar movieclips para os botões, ou fazer uma gambiarra no codigose você usar movieclips fica assimpor exemplo, digamos que você tenha 5 botoes que vão fazer a mesma coisa, só que com parametros diferentes, por exemplo, todos os botoes carregam swf externo, só que cada botão carrega um arquivo especificoentão você cria um array de "arquivos" para associar aos botoesfica mais ou menos assimvar arrayArquivos:array = new Array()arrayArquivos.push("file1.swf")arrayArquivos.push("file2.swf")arrayArquivos.push("file3.swf")arrayArquivos.push("file4.swf")arrayArquivos.push("file5.swf")isso vai fazer com que seu array "coloque pra dentro dele" os 5 arquivos nas 5 primeiras posições do array (tome cuidado pois todo array começa no indice 0 na propriedade length, ou seja, arrayArquivo[0] = 'file1')tendo o array você ja pode usá-lo como referencia para parar seu setIntervalvar counter = 0function espera() {if (counter == arrayArquivo.length){clearInterval(intervalo)}_root.attachMovie("bt_MC", "bt_0"+counter, counter+1);a = eval('bt_0' + counter);b = eval('bt_0' + (counter - 1));if(counter == 0){a._x = 136;a._y = 195;} else{a._y = 195;_global.w = a._width;_global.pos = a._x;a._x = (b._x + w) + 10;i=0;}a.file = arrayArquivo[counter]a.onRelease = function (){alvo.loadMovie(this.file)}counter++;}var intervalo = setInterval(espera, 4000);repare que a primeira coisa que eu fiz foi passar o if lá pra cima, dessa forma quando chegar no limite do array ele vai parar o codigo (quando o counter = 5 ele não vai achar nada dentro do array na posição 5 (pois ele só vai até 4: 0,1,2,3,4) e então pára a execuçãodepois criei uma variavel em "a" chamada "file", que vai receber os nomes dos arquivos do arraylembre-se que "a" é uma variavel que muda a cada execução da função e fará referencia sempre ao ultimo movieclip atachadotendo isso, agora eu posso dizer o que eu quero que cada botão façaa.onRelease = function (){trace(this.file)}repare que o "this" faz referencia ao movieclip que recebe o evento onReleaseassim você pode acessar a variavel file de cada movieclip sempre que este for clicado, e mandar carregar o arquivo designado pela funçãoentendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

var counter = 0

function espera() {

_root.attachMovie("bt_MC", "bt_0"+counter, counter+1);

a = eval('bt_0' + counter);

b = eval('bt_0' + (counter - 1));

a.onRelease = function(){

trace(this._name);

}

if(counter == 0){

a._x = 136;

a._y = 195;

} else {

a._y = 195;

this.onRelease = function(){

trace(_name);

}

_global.w = a._width;

_global.pos = a._x;

a._x = (b._x + w) + 10;

i=0;

}

counter++;

if (counter == 5)

{

clearInterval(intervalo)

}

}

var intervalo = setInterval(espera, 4000);

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.