# As3 thumbGrid, loading thumbs one by one?

**URL:** <https://forum.kirupa.com/t/as3-thumbgrid-loading-thumbs-one-by-one/288038>\
**Category:** flash\
**Created:** [May 9, 2009, 8:58pm UTC](https://forum.kirupa.com/t/as3-thumbgrid-loading-thumbs-one-by-one/288038 "2009-05-09T20:58:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![JBETT](https://avatars.discourse-cdn.com/v4/letter/j/f6c823/32.png) [@JBETT](https://forum.kirupa.com/u/JBETT)\
**Post date:** [May 9, 2009, 8:58pm UTC](https://forum.kirupa.com/t/as3-thumbgrid-loading-thumbs-one-by-one/288038/1 "2009-05-09T20:58:49Z")

</div>

## i needed to load my thumbs one by one in order of first to last. im sort of new to as3 and learning through tutorials which are very helpful, ive finished this tutorial by Riyadh Al Balushi:

import fl.controls.ProgressBar;  
var columns:Number;  
var my\_x:Number;  
var my\_y:Number;  
var my\_thumb\_width:Number;  
var my\_thumb\_height:Number;  
var my\_images:XMLList;  
var my\_total:Number;  
var container\_mc:MovieClip;  
var preloaders\_mc:MovieClip;  
var x\_counter:Number = 0;  
var y\_counter:Number = 0;  
var myXMLLoader:URLLoader = new URLLoader();  
myXMLLoader.load(new URLRequest(“gallery.xml”));  
myXMLLoader.addEventListener(Event.COMPLETE, processXML);  
function processXML (e:Event):void{  
var myXML:XML = new XML(e.target.data);  
columns = [myXML.@COLUMNS](mailto:myXML.@COLUMNS);  
my\_x = [myXML.@XPOSITION](mailto:myXML.@XPOSITION);  
my\_y = [myXML.@YPOSITION](mailto:myXML.@YPOSITION);  
my\_thumb\_width = [myXML.@WIDTH](mailto:myXML.@WIDTH);  
my\_thumb\_height = [myXML.@HEIGHT](mailto:myXML.@HEIGHT);  
my\_images = myXML.IMAGE;  
my\_total = my\_images.length();  
createContainer();  
callThumbs();  
}  
function createContainer():void{  
container\_mc = new MovieClip();  
container\_mc.x = my\_x;  
container\_mc.y = my\_y;  
addChild(container\_mc);  
preloaders\_mc = new MovieClip();  
preloaders\_mc.x = container\_mc.x;  
preloaders\_mc.y = container\_mc.y;  
addChild(preloaders\_mc);  
}  
function callThumbs():void{  
for (var i:Number = 0; i \< my\_total; i++){  
var thumb\_url = my\_images\*.@THUMB;;  
var thumb\_loader = new Loader();  
thumb\_loader.load(new URLRequest(thumb\_url));  
thumb\_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);  
thumb\_loader.x = (my\_thumb\_width+10)\*x\_counter;  
thumb\_loader.y = (my\_thumb\_height+10)\*y\_counter;  
if (x\_counter+1 \< columns){  
x\_counter++;  
} else {  
x\_counter = 0;  
y\_counter++;  
}  
var preloader\_pb:ProgressBar = new ProgressBar();  
preloader\_pb.source = thumb\_loader.contentLoaderInfo;  
preloader\_pb.x = thumb\_loader.x;  
preloader\_pb.y = thumb\_loader.y;  
preloader\_pb.width = my\_thumb\_width;  
preloader\_pb.height = my\_thumb\_height;  
preloaders\_mc.addChild(preloader\_pb);  
preloader\_pb.addEventListener(Event.COMPLETE, donePb);  
}  
}  
function thumbLoaded(e:Event):void{  
var my\_thumb:Loader = Loader(e.target.loader);  
container\_mc.addChild(my\_thumb);  
}  
function donePb (e:Event):void{  
var my\_pb:ProgressBar = ProgressBar(e.target);  
preloaders\_mc.removeChild(my\_pb);  
}

* * *

Any suggestions in making this happen, it would help me out a great deal of time.  
thank you.:sen:
