Ir para conteúdo

Arquivado

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

Maso

(/Bug)Preloader AS3.0

Recommended Posts

Olá pessoal, felizmente consegui fazer um preloader para o meu banner rotator, porém o motivo de estar aqui escrevendo este post é devido alguns acertos de bugs, por exemplo:

Quando eu clico em um botão para mudar de imagem enquanto o preloader está contando ele simplesmente começa a contar os bytesLoaded do antigo + a imagem do botão que eu cliquei. Isto é, a porcentagem passa dos 100...

Fica então a dúvida, não queria desabilitar o botão, sei q é possível de algum jeito mas não estou encontrando sucesso.

 

 

Aqui está o código:

//obs: meuLoader:Loader; meuPreloader:DynamicText

meuLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloader);

meuLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showdebola);

function preloader(e:ProgressEvent):void

{

var perc:Number = e.bytesLoaded/e.bytesTotal;

meuPreloader.text = Math.ceil(perc*100).toString();

}

function showdebola(e:Event):void

{

meuPreloader.text = "";

TweenMax.to(meuLoader, 1, {alpha:1});

}

function clicke(e:MouseEvent):void

{

if(meuPreloader.text != "")

{

// ??? Estava pensando em algo assim

}

}

 

 

http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele carrega a imagem sozinha e mostra como se carregasse tudo?

 

Se for acho que você pode consertar isso salvando o valor do primeiro carregamento em uma variável e depois subtraindo:

 

 

 

//obs: meuLoader:Loader; meuPreloader:DynamicText
meuLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preloader);
meuLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, showdebola);
function preloader(e:ProgressEvent):void
{

var perc:Number;
var percAnterior:Number;

if(percAnterior != 0){
perc  = (e.bytesLoaded/e.bytesTotal) - percAnterior;
} else {
perc =  e.bytesLoaded/e.bytesTotal;
}
percAnterior = perc;

meuPreloader.text = Math.ceil(perc*100).toString();
}
function showdebola(e:Event):void
{
percAnterior = perc;
meuPreloader.text = "";
TweenMax.to(meuLoader, 1, {alpha:1});
}
function clicke(e:MouseEvent):void
{
}

Esse pc não tem o flash instalado, mas acho que não tem nenhum erro no script...

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.