festamix 0 Denunciar post Postado Agosto 31, 2009 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
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 1, 2009 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
festamix 0 Denunciar post Postado Setembro 1, 2009 kra na real não deu nenhum erro. Mas o MC back_img não está mais aguardando o tempo. Ele está carregando juntamente ao container. Compartilhar este post Link para o post Compartilhar em outros sites
festamix 0 Denunciar post Postado Setembro 1, 2009 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
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 1, 2009 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
festamix 0 Denunciar post Postado Setembro 2, 2009 Funcionou perfeitamente. Não tinha conhecimento do setTimeout(). Muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites