BlogBlogs.Com.Br

sábado, 13 de setembro de 2008

Preloader Simples com ActionScript 3.0

Esse é um preloader muito simples, não temos nada no stage ou na biblioteca, tudo é criado por código dinamicamente. Este preloader é leve e para usá-lo basta colar o código abaixo no primeiro frame ou cena e colocar o conteúdo a ser carregado no próximo frame ou cena.
O código abaixo gera dois retângulos ( movie clips) usando os métodos da classe graphics. O rect chamado bar será a barra de carregamento e o rect barMask será a máscara aplicada sobre a bar. O tamanho de barMask é incrementado a medida que ocorre o carregamento.
Caso queria ver um exemplo mais detalhado de preloader com AS 3 click aqui.
Caso queria ver o resultado do que é gerado pelo código abaixo, click aqui.
stop();
var bar:MovieClip = new MovieClip();
bar.graphics.beginFill(0xCC0000,1);
bar.graphics.drawRect( 0,0,100,10);
bar.x = stage.stageWidth/2-50;
bar.y = stage.stageHeight/2-10;
bar.graphics.endFill();
stage.addChild(bar);

var barMask:MovieClip = new MovieClip();
barMask.graphics.beginFill(0xFE6FF7,0.9);
barMask.graphics.drawRect( 0,0,100,10);
barMask.x=bar.x;
barMask.y=bar.y;
barMask.graphics.endFill();
stage.addChild(barMask);
bar.mask = barMask;

this.loaderInfo.addEventListener(ProgressEvent.PROGRESS,
checkingProgress);
loaderInfo.addEventListener(Event.COMPLETE,progressComplete);

function checkingProgress(event:ProgressEvent):void{
var procentLoaded:Number = event.bytesLoaded/event.bytesTotal*100;
barMask.scaleX = procentLoaded/100;
}

function progressComplete (e:Event):void{
loaderInfo.removeEventListener(ProgressEvent.PROGRESS,
checkingProgress);
stage.removeChild(bar);
stage.removeChild(barMask);
gotoAndPlay(2);
}

3 comentários:

Wilton disse...

Muito Obrigado

Seu código é muito bom.

Barack Obama disse...

Rapaz, dessa vez tenho que comentar.

VALEU PELO SCRIPT!

passei por vários sites, cada um com uma papagaiada maior que a outra... Esse code, por usar só AS, é bem mais útil.

Vlw.

juliano disse...

Simples e funcional!