Ir para conteúdo

POWERED BY:

Arquivado

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

festamix

Preloader com AS3

Recommended Posts

Olá a todos. Estou tentando fazer uma preloader simples de arquivos externos. Só não sei como faço isso para dentro de um MC, no caso o bom e velha loadMovieNum no AS2.

O código atual que tenho é o seguinte:

var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest("fundo.swf"));
function progressHandler(event:ProgressEvent):void
{
	var ratio:Number = event.bytesLoaded / event.bytesTotal;
	mcBar.scaleX = ratio;
}
function completeHandler(event:Event):void
{
	removeChild(mcBar);
	mcBar = null;
	addChild(loader);
}

Se alguém puder me orientar como fazer um loader circular ainda ficarei muito grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom consegui resolver este problema. Só com isso surgiu outro.

Criei uma função para sempre usar o mesmo preloader para carregar todos os conteudos externo do palco. Ficou assim:

function loadPrincipal(load_mc:MovieClip, load_img:String):void {
mcBar.visible=true;
if (load_mc == mc_conteudo.mc_conteudo_int1){
	mc_conteudo.visible = true;
}
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(load_img));
function progressHandler(event:ProgressEvent):void
{
	var ratio:Number = event.bytesLoaded / event.bytesTotal;
	mcBar.scaleX = ratio;
}
function completeHandler(event:Event):void
{
	mcBar.visible=false;
	mcBar = null;
	load_mc.addChild(loader);
}
}

Problema é que não posso chamar ele mais de uma vez. Ele anula o primeiro objeto carregado e carrega o seguinte.

Como posso fazer para poder carregar varios swf externos. Alguns deverão ser carragados em mc que já receberam o conteudo pela função, e assim queria q eles descarrega-sem e carrega-se o novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom consegui resolver este problema. Só com isso surgiu outro.

Criei uma função para sempre usar o mesmo preloader para carregar todos os conteudos externo do palco. Ficou assim:

function loadPrincipal(load_mc:MovieClip, load_img:String):void {
mcBar.visible=true;
if (load_mc == mc_conteudo.mc_conteudo_int1){
	mc_conteudo.visible = true;
}
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest(load_img));
function progressHandler(event:ProgressEvent):void
{
	var ratio:Number = event.bytesLoaded / event.bytesTotal;
	mcBar.scaleX = ratio;
}
function completeHandler(event:Event):void
{
	mcBar.visible=false;
	mcBar = null;
	load_mc.addChild(loader);
}
}

Problema é que não posso chamar ele mais de uma vez. Ele anula o primeiro objeto carregado e carrega o seguinte.

Como posso fazer para poder carregar varios swf externos. Alguns deverão ser carragados em mc que já receberam o conteudo pela função, e assim queria q eles descarrega-sem e carrega-se o novo.

 

 

nome_do_MC.removeChildAt(0);

nome_do_MC.addChild(e.target.content);

Usei assim para remover e inserir o conteudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para carregar varios você tem que criar um novo loader para cada objeto Imagem Postada

 

então dentro de uma função que chama carrega por exemplo você vai fazer loader = new Loader e atribuir os listeners novamente.

 

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.