package { import SmileyProgressBar; import QueueCompleteIndicator; import com.exanimo.net.LoadQueue; import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.utils.Dictionary; public class LoadQueueExample2 extends Sprite { private var _progressBars2Loaders:Dictionary; private var _loadQueue:LoadQueue; public function LoadQueueExample2() { this._progressBars2Loaders = new Dictionary(); this._loadQueue = new LoadQueue(); var smiley:SmileyProgressBar; var urlLoader:URLLoader; var url:String = 'http://www.helpexamples.com/flash/video/caption_video.flv'; for (var j:uint = 0; j < 2; j++) { for (var i:uint = 0; i < 4; i++) { smiley = new SmileyProgressBar(); smiley.x = 79 * i; smiley.y = 79 * j; smiley.buttonMode = true; smiley.addEventListener(MouseEvent.CLICK, this._smileyClickHandler); smiley.mouseChildren = false; this.addChild(smiley); urlLoader = new URLLoader(); smiley.source = urlLoader; this._loadQueue.addItem(urlLoader); this._loadQueue.setLoadArguments(urlLoader, new URLRequest(url + '?cacheBuster=' + Math.random() * 99999)); this._progressBars2Loaders[smiley] = urlLoader; } } this._loadQueue.addEventListener(Event.COMPLETE, this._loadQueueCompleteHandler); this._loadQueue.load(); } private function _loadQueueCompleteHandler(e:Event):void { this.addChild(new QueueCompleteIndicator()); } private function _smileyClickHandler(e:MouseEvent):void { this._loadQueue.addItemAt(this._progressBars2Loaders[e.currentTarget], 0); } } }