Membuat Preloader swf menggunakan Flash ActionScript3

Posted on Updated on

Ketika kita load file swf eksternal dalam suatu animiasi Flash, para pembuatnya mungkin memakan waktu untuk memuat dan lebih baik untuk menempatkan preloader dalam animasi utama untuk menginformasikan pengguna bahwa konten sedang loading. Tutorial kali ini adalah bagaimana cara kita membuat sebuat preloader pada file animasi sebelum file swfnya muncul secara full. Ini agak sulit untuk mengatur preloader swf eksternal untuk menggunakan ActionScript3 di Flash.

Contoh berikut akan menunjukkan bagaimana kita dapat memuat file eksternal swf, membuat preloader dan menunjukkannya sebelum menampilkan file swf dimuat untuk pengguna :

function launchSWF(vBox, vFile):void{

var swfLoader:Loader = new Loader();

var swfURL:URLRequest = new URLRequest(vFile);

swfLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadProdComplete);

swfLoader.load(swfURL);

function loadProdComplete(e:Event):void {
	trace("swf file loaded");
	//remove the preloader from container clip
            vBox.removeChild(preLoader);

           // add the loaded swf to container clip
	vBox.addChild(swfLoader);

	currentSWF = MovieClip(swfLoader.content);
	currentSWF.gotoAndPlay(1);

	currentSWF.addEventListener(Event.ENTER_FRAME , checkLastFrame);

function checkLastFrame(e:Event):void {

if (currentSWF.currentFrame == currentSWF.totalFrames) {
     currentSWF.stop();
    // trace("stopped");
   }

   }

}

var preLoader:loader = new loader();

//position the loading bar
preLoader.x = 155;
preLoader.y = 185;

vBox.addChild(preLoader);

function onProgressHandler(event:ProgressEvent){

var dataAmountLoaded:Number=event.bytesLoaded/event.bytesTotal*100;
preLoader.bar.scaleX = dataAmountLoaded/100;
preLoader.lpc.text= int(dataAmountLoaded)+"%";

trace(preLoader.bar.scaleX );

   }

}

//create the container clip
var container:MovieClip = new MovieClip();

//define the swf file to load
var swfFile:String = 'external-file.swf';

//define a MovieClip to store current swf ref
var currentSWF:MovieClip = new MovieClip();

//call the function to load swf, provide container clip and external file
launchSWF(container, swfFile);

//put it on stage
addChild(container);

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s