Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fiz esse as:
ACTIONSCRIPT
stop(); function playFilme(filme) {
var num:Number = filme;
if (num == 5) {
clearInterval(time);
num = 1;
}
gotoAndStop(num);
time = setInterval(
function(){
num++;
playFilme(num);
clearInterval(time);
}
, 3000);
};
onEnterFrame = playFilme(1);
E no botão ela pode ser acionada da seguinte forma:
ACTIONSCRIPT
on(release) { clearInterval(_root.time);
trace(time);
playFilme(1);
}
Ele exibe todos as imagens automaticamente, passando a cada 3 segundos, mas o problema é que quando clica, se for no botão 02, por exemplo, deveria esperar 3 segundos na imagem clicada, e passar para a 3, mas ele fica descontrolado, por não estar apagando o intervalo criado no setInterval.
Tentei como você sugeriu mas continua a mesma coisa. no primeiro frame ele inicia a função, e a cada 3 segundos altera para o frame seguinte, 1..2..3.. .. . Caso o frame atual seja o 5º e clicar no botão 2, deveria ficar os 3 segundos nele (frame 2), em seguida ir para o 3º, mas vai para o 6º. Fora que apartir do clique, o intervalo de 3 segundos deixa de ser seguido.
tira o onEnterframe senão ele vai ficar dando um monte de intervalos, e tb sempre de um clearInterval antes de começar um, isso te evitará esses bugs, por exemplo:
clearInterval(time);
_globa.time = setInterval(
Ôpa, vlw Carneirinho. Falta de atenção minha que um amigo corrigiu. Segue o code:
ACTIONSCRIPT
stop(); var time;
function playFilme(filme) {
clearInterval(time);
var num:Number = filme;
if (num == 6) {
num = 2;
}
for (i = 2; i < 6; i++) {
num == i ? _root["btn"+i]._alpha = 100 : _root["btn"+i]._alpha = 50;
}
gotoAndStop(num);
time = setInterval(
function(){
num++;
playFilme(num);
}
, 3000);
};
onEnterFrame = playFilme(2);
No lugar de time = setInterval(.. use _global.time = setInterval( e no clear deixe apenas clearInterval(time);
abraço!