Ir para conteúdo

POWERED BY:

Arquivado

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

festamix

[Resolvido] Problemas com loadMovie

Recommended Posts

Pessoal. Tenho o seguinte script:

function carrega_film(conteudo){
		loadMovie(conteudo, _root.container_mc);
		var anima:Tween = new Tween (_root.container_mc, '_x', Bounce.easeOut, -1000, 0, 1, true );
		setInterval(function (){
		loadMovie(conteudo, _root.back_img);
		}, 2000);
}
Essa função faz na verdade eh carregar a mesma imagem em dois mc. Só que um com alguns segundos depois. Até ele funciona perfeitamente, o mc superior (container_mc) por ter o tween easeOut entra da tela e kika na lateral, e o mc inferior (back_img) está abaixo ainda com a imagem anterior.

Problema é que o back_img mostra a imagem correta até a função carrega_film ser carragada 3x. Depois ele vira a dar problemas, carregando imagens bem mais antigas, ao invez de carregar a mesma que o container_mc corregou.

Como resolvo isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Devido ao seu delay... ele pode começar a retardar os dados...e não conseguir atualizar de acordo com o que ele tava carregando antes....

 

O que você pode fazer... e quando ele terminar colocar o clearInterval nele

Então em vez de fazer como você fez fazer assim:

var tempo:Number; //Crie essa variavel lá no começo do seu script
function carrega_film(conteudo){
   loadMovie(conteudo, _root.container_mc);
   var anima:Tween = new Tween (_root.container_mc, '_x', Bounce.easeOut, -1000, 0, 1, true );
   tempo = setInterval(intervalo(conteudo), 2000);
}function intervalo(conteudo){
   clearInterval(tempo);
     loadMovie(conteudo, _root.back_img);
}

Acredito que vá funcionar...

Ou então você coloca esse clearInterval dentro da função que você fez mesmo...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa que tentei fazer foi descarregar o MC antes de carrega-lo novamente.

function carrega_film(conteudo){                
	loadMovie(conteudo, _root.container_mc);                
	var anima:Tween = new Tween (_root.container_mc, '_x', Bounce.easeOut, -1000, 0, 1, true );                
	setInterval(function (){                
		  unloadMovie(back_img); 
		  loadMovie(conteudo, _root.back_img);
	}, 2000);   		             
}
Mais não tive sucesso.

Ele funciona durante algum tempo, mais depois ele pira mesmo aguardando uns 10 seg até fazer outra solicitação da função.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que vai acontecer é que essa função:

setInterval(function (){                
                  loadMovie(conteudo, _root.back_img);
        }, 2000);  

Sem clearInterval a cada 2 segundos vai ser chamada novamente..... e chamada novamente..... e novamente..... e assim vai infinitamente....

Mesmo se seu código parar isso ai vai continuar chamando... pois você não deu um clearInterval()

 

Ou seja ele vai entrar em um loop infinito......

 

E o que você procura...

 

Em vez de colocar setInterval

Mude o nome para setTimeout

Que assim ele só vai rodar uma vez....

 

Abraços

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.