Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Sou novato em AS3, e estou com um problema em relação a um preloader que tem por comando carregar arquivos SWF's externos.
Bom, quando um link é clicado para chamar o arquivo externo, o preloader é acionado para carregar o arquivo. Até ai está ok, o preloader está fazendo o carregamento do SWF certinho.
Problema:
Quando clico no link (home), o arquivo começa a ser carregado e o percentual é mostrado na tela, o problema é que, "se" enquanto o SWF do 1º link (home) estiver carregando e o 2º link (empresa) for acionado, o SWF do 1º link continua a carregar juntamente com o SWF do 2º link, o que acaba virando um congestionamento...
Obs.1:
A medida que vou clicando nos link's sem esperar até que o outro seja totalmente carregado, o filme fica mais pezado.../
Obs.2:
Estive a procura de uma solução em vários foruns porem não consigui resolver o problema, o código usado para cancelar o carregamento, é close(), porém não estou sabendo como adequalo ao meu script...
Abaixo segue meu código:
MAIN_FRAME -----------------
import flash.net.URLRequest;
import flash.events.Event;
import flash.net.URLLoader;
flash.text.Font;
// Declaração de variáveis
var linke:URLRequest = new URLRequest("home.swf");
mcCarrega.gotoAndPlay("carregando");
// Eventos de Btn's
home.addEventListener(MouseEvent.CLICK, clica);
contato.addEventListener(MouseEvent.CLICK, clica);
// Função;
function clica(e:Event):void
{
switch (e.currentTarget)
{
case (home) :
linke = new URLRequest("home.swf");
break;
case (contato) :
linke = new URLRequest("contatos.swf");
break;
}
mcCarrega.gotoAndPlay("carregando");
}
mcCarrega(MC)>>quadro 20 (onde se encontra o preloader) -----------------
stop();
import flash.display.Loader;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.MouseEvent;
flash.text.Font;
// Declaração de variável
var carrega:Loader = new Loader();
// Carregando a pág. escolhida dentro da var carrega
carrega.load(MovieClip(root).linke);
// Verificação de Eventos de Carregamento
carrega.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, carregando);
carrega.contentLoaderInfo.addEventListener(Event.COMPLETE, completo);
// Funções
function carregando(evt:ProgressEvent):void{
var percent:Number = evt.bytesLoaded/evt.bytesTotal;
var percTot;
percTot = Math.floor(percent*100)+"";
cc5.text = percTot +"%";
//trace(percTot);
}
function completo(e:Event):void{
MovieClip(root).conteudo.removeChildAt(0);
MovieClip(root).conteudo.addChild(carrega);
perc.removeEventListener(Event.ENTER_FRAME, percSegueMouse);
gotoAndPlay("completo");
}
Obs.3:
Fiz este de acordo com um tutorial do mxmaster, caso queira compreender melhor, veja este.
Bom, desde já agradeço a quem poder me ajudar.
Carregando comentários...