Skip to content


ProgressBar Component

I have always wondered how the progress component worked.. seems easy enough.

Here is the document class

package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.ProgressEvent;
	import flash.text.TextFieldAutoSize;
	import fl.containers.UILoader;
	import fl.controls.Label;
	import fl.controls.ProgressBar;

	public class ProgressBarDemo extends Sprite
	{
		private var url:String = "http://manewc.com/projects/flash/i/gahlord.jpg";
		private var myLabel:Label;
		private var myProgressBar:ProgressBar;
		private var myUILoader:UILoader;

		public function ProgressBarDemo()
		{
			myUILoader = new UILoader();
			myUILoader.autoLoad = false;
			myUILoader.source = url;
			myUILoader.move(10, 10);
			myUILoader.scaleContent = false;
			myUILoader.load();

			myProgressBar = new ProgressBar();
			myProgressBar.source = myUILoader;
			myProgressBar.move(myUILoader.x, myUILoader.y);
			myProgressBar.addEventListener(ProgressEvent.PROGRESS, progressHandler);
			myProgressBar.addEventListener(Event.COMPLETE, completeHandler);
			addChild(myProgressBar);

			myLabel = new Label();
			myLabel.text = "xx";
			myLabel.autoSize = TextFieldAutoSize.LEFT;
			myLabel.move(myProgressBar.x, myProgressBar.y + myProgressBar.height);
			addChild(myLabel);
		}

		function progressHandler(event:ProgressEvent):void
		{
			myLabel.text = event.bytesLoaded + " of " + event.bytesTotal + " bytes loaded.";
		}

		function completeHandler(event:Event):void
		{
		    myProgressBar.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
			myProgressBar.removeEventListener(Event.COMPLETE, completeHandler);

			addChildAt(myUILoader, 0);
		}
	}
}

Posted in Actionscript 3, Flash Components.


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.