Ir para conteúdo

POWERED BY:

Arquivado

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

Alexandre Menezes

Ação stop(); não funciona.

Recommended Posts

Caros colegas,

 

Não sei o que está acontecendo.

 

Estou fazendo um site em camadas, quando chamo (através de um botao) um frame anterior, vai para o frame que eu quero, mas depois de alguns segundos ele começa a andar para os frames posteriores mesmo com o stop(); nos frame que eu quero que pare.

 

por exemplo:

 

Eu estou no frame principal (1).

Clico no menu para ir para uma parte do site (frame 2 por exemplo), daí ando até o frame desejado.

Quando clico novamente no menu para votlar para o frame principal, ele volta, mas depois de poucos segundos, anda para o frame 2 sozinho, mesmo com o stop(); no frame 1.

 

Alguem poderia me ajudar?!

=|

 

Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O site não tem muitos scripts...

Só um Preloader que toma os 10 primeiros frames do filme:

 

stop();

textVar = "..:: CARREGANDO ::..";

loaderInt = setInterval(Lbar, 10);

function Lbar (){

percentInst.text = Math.round(getBytesLoaded()/getBytesTotal()*100)+"%";

if(getBytesLoaded() >= getBytesTotal()){

play();

textInst._visible = false;

fill_MC._visible = false;

strokeMC._visible = false;

percentInst._visible = false;

clearInterval(loaderInt);

}

}

 

Depois disso começa a animação de abertura do site...

Até ele parar no frame da página principal.

 

Até aí tudo bem.

 

Na página principal tem um movieclip que faz transições de imagens com efeitos, o AS dele é:

 

No primeiro frame:

 

_root.numero = 1;

 

No segundo frame:

 

stop();

_root.img_fundo._visible = false;

if (_root.numero == 2) {

_root.img_fundo._visible = true;

}

comeco = setInterval(avancar, 7000);

function avancar(){

if (_currentFrame == 4) {

clearInterval(comeco);

_root.numero = 2

gotoAndStop(2);}

else {

nextFrame();

}

}

 

Até aí tudo bem, ele fica paradinho na boa.

 

Aí eu clico num botão que vai para um frame "x" que está depois do frame da página principal, que eu chamo de ("principal").

 

Até aí tudo bem também. Ele vai pra o frame que eu solicitei e pára.

 

O porém vem aqui: Quando eu clico no botão para retornar ao frame "principal":

 

on (release) {

gotoAndStop("principal");

}

 

Ele muda para o frame principal, demora uns 3 segundos e carrega o frame seguinte, mesmo estando com o gotoAndStop e ainda amis um stop(); no frame principal.

 

O interessante é que quando ele passa para esse frame seguinte, ele passa muito lento. Carregando a animação do próximo frame muito lentamente.

 

Sinceramente em muitos anos de flash, nunca vi isso.

Tou de mãos atadas, sem saber o que fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, achei o problema estava realmente no movieclip que fazia os slides de transição, porém eu não queria abrir mão dele, é peça chave no design da página.

 

Alguém poderia me dizer como posso alterar o código dele pra que não aconteça aquele problema?

 

Grato desde já pela dedicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

explica melhor oq o slide de transição faz e posta os codigos se nao, num da pra saber oq ta fazendo ele nao ficar paradinho...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na cena principal tem um movieclip que faz transições de imagens com efeitos, o AS dele é:

 

No primeiro frame:

 

_root.numero = 1;

 

No segundo frame:

 

stop();

_root.img_fundo._visible = false;

if (_root.numero == 2) {

_root.img_fundo._visible = true;

}

comeco = setInterval(avancar, 7000);

function avancar(){

if (_currentFrame == 4) {

clearInterval(comeco);

_root.numero = 2

gotoAndStop(2);}

else {

nextFrame();

}

}

 

são 5 camadas

 

Ações (com os dois frames acima 1 e 2)

Animação 1 (frame 2 e 3)

Animação 2 (frame 3 e 4)

Animação 3 (frame 4 e 5)

Imagem de Fundo (1, 2 e 3)

 

Eu acho que o problema é no, porque eu contei os segundos do bug que passa pra o outro frame e é exatamente 7 segundos.

 

else {

nextFrame();

}

 

O movie clip ta controlando o next frame da cena principal... Não teria como eu limitar a passagem de frame apenas no movieclip?

 

Obrigadão galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara

nao sei onde você ta kerendo chegar!

mas setInterval tem q ser mto bem manipulado se nao da esses bizius mesmo...

to com dor de cabeça mal conseguindo ler codigo hj

mas a onde ta dando problemca, coloca o codigo

 

clearInterval(comeco);

 

 

experimenta colocar dentro do else

 

clearInterval(comeco);

 

flws

Compartilhar este post


Link para o post
Compartilhar em outros sites

É um site comercial. Não posso mandar. =/

 

A questão é:

 

O movie clip ta dando o next frame na cena principal... Não teria como eu limitar a passagem de frame apenas no movieclip?

Tentei instanciar o MC mas não deu certo.

 

Desde já muito obrigado Pino.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara...

pra ser sincero eu to perdido no seu codigo

mas tenho certeza absoluta q ta faltando um clearInterval em algum lugar...

se quiser passar o site, beleza, leio, descubro, te aviso e deleto...

mas ai você qm sabe

ou se nao sai tacando clearInterval no seu fla q uma hr você acha o burakinho

ehuehuehue

flws

=]

Compartilhar este post


Link para o post
Compartilhar em outros sites

pro c ter nocao...

eu acabei de ter esse problema aki... codigo tudo certin, fui mostrar o site pro cliente... ploft... deu pau

meleka do setInterval...

custei pra conseguir indentificar... tava faltando um clearInterval

mas agora ta redondinho http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Pessoal,

 

mudei o código e aparentemente está funcionando redondinho:

 

stop();

_root.img_fundo._visible = false;

if (_root.numero == 2) {

_root.img_fundo._visible = true;

}

comeco = setInterval(avancar, 7000);

function avancar(){

if (_currentFrame == 4) {

clearInterval(comeco);

_root.numero = 2

gotoAndStop(2);}

else if (_currentFrame == 2) {

_root.numero = 2

gotoAndStop(3);}

else if (_currentFrame == 3) {

_root.numero = 2

gotoAndStop(4);}

}

 

Obrigado pela a ajuda.

Alexandre.

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.