# Flash MX 2004 AS 2.0 Help Loading Thumbs

**URL:** <https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913>\
**Category:** flash\
**Created:** [July 14, 2008, 3:00pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913 "2008-07-14T15:00:13Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ruffneck\_chiken](https://avatars.discourse-cdn.com/v4/letter/r/bc79bd/32.png) [@ruffneck\_chiken](https://forum.kirupa.com/u/ruffneck_chiken)\
**Post date:** [July 14, 2008, 3:00pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913/1 "2008-07-14T15:00:13Z")

</div>

[COLOR=black][FONT=Verdana]Hi, I have gotten help from a couple people on this site I have been able to customize the adding thumbnails tutorial to meet my needs but I have one remaining issue. I have gotten some suggestions from some people on here to try and help me fix this but I can not get it to work……I have tried on my own and I am unable to get it to work. The thumbnails are loading in reverse order from they way they are listed in the XML file or when I simulate download the thumbs load randomly. Is there a way to force them to load in the order they are listed in the XML file? Below is the code and thanks in advance for your help.[/FONT][/COLOR][FONT=Arial][/FONT]

function loadXML(loaded) {  
if (loaded) {  
xmlNode = this.firstChild;  
image = [];  
description = [];  
thumbnails = [];  
total = xmlNode.childNodes.length;  
for (i=0; i\<total; i++) {  
image\* = xmlNode.childNodes\*.childNodes[0].firstChild.nodeValue;  
description\* = xmlNode.childNodes\*.childNodes[1].firstChild.nodeValue;  
thumbnails\* = xmlNode.childNodes\*.childNodes[2].firstChild.nodeValue;  
thumbnails\_fn(i);  
}  
firstImage();  
} else {  
content = “file not loaded!”;  
}  
}  
xmlData = new XML();  
xmlData.ignoreWhite = true;  
xmlData.onLoad = loadXML;  
xmlData.load(“images.xml”);  
/////////////////////////////////////  
this.createEmptyMovieClip(“container”, “100”);  
my\_mc = new MovieClipLoader();  
preload = new Object();  
pic\_bg.\_visable=false  
/////////////////////////////////////  
listen = new Object();  
listen.onKeyDown = function() {  
if (Key.getCode() == Key.LEFT) {  
prevImage();  
} else if (Key.getCode() == Key.RIGHT) {  
nextImage();  
}  
};  
Key.addListener(listen);  
previous\_btn.onRelease = function() {  
prevImage();  
};  
next\_btn.onRelease = function() {  
nextImage();  
};  
/////////////////////////////////////  
p = 0;  
this.onEnterFrame = function() {  
pic\_bg.\_visible = false;  
filesize = container.getBytesTotal();  
loaded = container.getBytesLoaded();  
preloader.\_visible = true;  
if (loaded != filesize) {  
preloader.preload\_bar.\_xscale = 100\*loaded/filesize;  
} else {  
preloader.\_visible = false;  
pic\_bg.\_visible = true;  
if (container.\_width== 640) {  
container.\_x = 90;  
container.\_y = 100;  
pic\_bg.\_x = 80;  
pic\_bg.\_y = 90;  
pic\_bg.\_width = 660;  
pic\_bg.\_height = 500;  
discrp\_txt.swapDepths(100);  
} else {  
container.\_x = 170;  
container.\_y = 20;  
pic\_bg.\_x = 160;  
pic\_bg.\_y = 10;  
pic\_bg.\_width = 500;  
pic\_bg.\_height = 660;  
discrp\_txt.swapDepths(100);  
}  
if (container.\_alpha\<100) {  
container.\_alpha += 10;  
pic\_bg.\_alpha += 10;  
}  
}  
};  
function nextImage() {  
if (p\<(total-1)) {  
p++;  
if (loaded == filesize) {  
container.\_alpha = 0;  
pic\_bg.\_alpha = 0;  
my\_mc.loadClip(image[p], “container”);  
discrp\_txt.desc\_txt.text = description[p];  
picture\_num();  
}  
}  
}  
function prevImage() {  
if (p\>0) {  
p–;  
container.\_alpha = 0;  
pic\_bg.\_alpha = 0;  
my\_mc.loadClip(image[p], “container”);  
if (container.\_width== 640) {  
container.\_x = 90;  
container.\_y = 100;  
} else {  
container.\_x = 170;  
container.\_y = 20;  
}  
discrp\_txt.desc\_txt.text = description[p];  
picture\_num();  
}  
}  
function firstImage() {  
if (loaded == filesize) {  
container.\_alpha = 0;  
pic\_bg.\_alpha = 0;  
my\_mc.loadClip(image[p], “container”);  
if (container.\_width == 640) {  
container.\_x = 90;  
container.\_y = 100;  
} else {  
container.\_x = 170;  
container.\_y = 20;  
}  
discrp\_txt.desc\_txt.text = description[p];  
picture\_num();  
}  
}  
function picture\_num() {  
current\_pos = p+1;  
pos\_txt.text = current\_pos+" / "+total;  
}  
function thumbNailScroller() {  
// thumbnail code!  
this.createEmptyMovieClip(“tscroller”, 1000);  
scroll\_speed = 10;  
tscroller.onEnterFrame = function() {  
if ((\_root.\_ymouse\>=thumbnail\_mc.\_y) && (\_root.\_ymouse\<=thumbnail\_mc.\_y+thumbnail\_mc.\_height)) {  
if ((\_root.\_xmouse\>=(hit\_right.\_x-200)) && (thumbnail\_mc.hitTest(hit\_right))) {  
thumbnail\_mc.\_x -= scroll\_speed;  
} else if ((\_root.\_xmouse\<=(hit\_left.\_x+200)) && (thumbnail\_mc.hitTest(hit\_left))) {  
thumbnail\_mc.\_x += scroll\_speed;  
}  
} else {  
delete tscroller.onEnterFrame;  
}  
};  
}  
var w = 0;  
function thumbnails\_fn(k) {  
thumbnail\_mc.createEmptyMovieClip(“t”+k,thumbnail\_mc.getNextHighestDepth());  
tlistener = new Object();  
tlistener.onLoadInit = function(target\_mc) {  
target\_mc.\_x = hit\_left.\_x+w+5;  
w += target\_mc.\_width+5;  
target\_mc.pictureValue = k;  
target\_mc.onRelease = function() {  
p = this.pictureValue-1;  
nextImage();  
};  
target\_mc.onRollOver = function() {  
this.\_alpha = 50;  
thumbNailScroller();  
};  
target\_mc.onRollOut = function() {  
this.\_alpha = 100;  
};  
};  
image\_mcl = new MovieClipLoader();  
image\_mcl.addListener(tlistener);  
image\_mcl.loadClip(thumbnails[k], “thumbnail\_mc.t”+k);  
}

---

<div class="post-metadata">

**Author:** ![randomagain](https://avatars.discourse-cdn.com/v4/letter/r/35a633/32.png) [@randomagain](https://forum.kirupa.com/u/randomagain)\
**Post date:** [July 14, 2008, 3:02pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913/2 "2008-07-14T15:02:38Z")

</div>

i’ll try and read people’s post more

use loadClip() and wait till the first has loaded once it has, increment an load the next

---

<div class="post-metadata">

**Author:** ![nathan99](https://avatars.discourse-cdn.com/v4/letter/n/96bed5/32.png) [@nathan99](https://forum.kirupa.com/u/nathan99)\
**Post date:** [July 14, 2008, 3:20pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913/3 "2008-07-14T15:20:36Z")

</div>

or just a ‘non-hack hacky fix’ (new term… just made it up, if you don’t like it, I dont like you 😠) and thumbnails.reverse() and description.reverse().

---

<div class="post-metadata">

**Author:** ![stringy](https://avatars.discourse-cdn.com/v4/letter/s/919ad9/32.png) [@stringy](https://forum.kirupa.com/u/stringy)\
**Post date:** [July 14, 2008, 3:50pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913/4 "2008-07-14T15:50:44Z")

</div>

My first thought was similar to Nathans but i think the problen is that the clips are loading from a for loop so it is pretty random which loads first etc.  
Try this and see if it works any better

```auto
var k = 0;
var total;
function loadXML(loaded) {
	if (loaded) {
		xmlNode = this.firstChild;
		image = [];
		description = [];
		thumbnails = [];
		total = xmlNode.childNodes.length;
		for (i=0; i<total; i++) {
			image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
			description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
			thumbnails* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
		}
		thumbnails_fn(k);
		firstImage();
	} else {
		content = "file not loaded!";
	}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
///////////////////////////////////// 
listen = new Object();
listen.onKeyDown = function() {
	if (Key.getCode() == Key.LEFT) {
		prevImage();
	} else if (Key.getCode() == Key.RIGHT) {
		nextImage();
	}
};
Key.addListener(listen);
previous_btn.onRelease = function() {
	prevImage();
};
next_btn.onRelease = function() {
	nextImage();
};
///////////////////////////////////// 
p = 0;
this.onEnterFrame = function() {
	filesize = picture.getBytesTotal();
	loaded = picture.getBytesLoaded();
	preloader._visible = true;
	if (loaded != filesize) {
		preloader.preload_bar._xscale = 100*loaded/filesize;
	} else {
		preloader._visible = false;
		if (picture._alpha<100) {
			picture._alpha += 10;
		}
	}
};
function nextImage() {
	if (p<(total-1)) {
		p++;
		if (loaded == filesize) {
			picture._alpha = 0;
			picture.loadMovie(image[p], 1);
			desc_txt.text = description[p];
			picture_num();
		}
	}
}
function prevImage() {
	if (p>0) {
		p--;
		picture._alpha = 0;
		picture.loadMovie(image[p], 1);
		desc_txt.text = description[p];
		picture_num();
	}
}
function firstImage() {
	if (loaded == filesize) {
		picture._alpha = 0;
		picture.loadMovie(image[0], 1);
		desc_txt.text = description[0];
		picture_num();
	}
}
function picture_num() {
	current_pos = p+1;
	pos_txt.text = current_pos+" / "+total;
}
function thumbNailScroller() {
	// thumbnail code! 
	this.createEmptyMovieClip("tscroller", 1000);
	scroll_speed = 10;
	tscroller.onEnterFrame = function() {
		if ((_ymouse>=thumbnail_mc._y) && (_ymouse<=thumbnail_mc._y+thumbnail_mc._height)) {
			if ((_xmouse>=(hit_right._x-40)) && (thumbnail_mc.hitTest(hit_right))) {
				thumbnail_mc._x -= scroll_speed;
			} else if ((_xmouse<=(hit_left._x+40)) && (thumbnail_mc.hitTest(hit_left))) {
				thumbnail_mc._x += scroll_speed;
			}
		} else {
			delete tscroller.onEnterFrame;
		}
	};
}
function thumbnails_fn(k) {
	thumbnail_mc.createEmptyMovieClip("t"+k, thumbnail_mc.getNextHighestDepth());
	tlistener = new Object();
	tlistener.onLoadInit = function(target_mc) {
		target_mc._x = hit_left._x+(target_mc._width+5)*k;
		target_mc.pictureValue = k;
		target_mc.onRelease = function() {
			p = this.pictureValue-1;
			nextImage();
		};
		target_mc.onRollOver = function() {
			this._alpha = 50;
			thumbNailScroller();
		};
		target_mc.onRollOut = function() {
			this._alpha = 100;
		};
		k++
		if(k<total)thumbnails_fn(k)
	};
	image_mcl = new MovieClipLoader();
	image_mcl.addListener(tlistener);
	image_mcl.loadClip(thumbnails[k], "thumbnail_mc.t"+k);
	
}

```

---

<div class="post-metadata">

**Author:** ![nathan99](https://avatars.discourse-cdn.com/v4/letter/n/96bed5/32.png) [@nathan99](https://forum.kirupa.com/u/nathan99)\
**Post date:** [July 14, 2008, 4:24pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913/5 "2008-07-14T16:24:56Z")

</div>

^^ yeah I couldn’t be bothered reading cause no [noparse]

```auto

```

[/noparse] tags \</3

Isn’t Stringy lovely… I think you owe him a big kiss and a hug ruffneck\_chiken, you big ol’ rough neck chicken you

---

<div class="post-metadata">

**Author:** ![ruffneck\_chiken](https://avatars.discourse-cdn.com/v4/letter/r/bc79bd/32.png) [@ruffneck\_chiken](https://forum.kirupa.com/u/ruffneck_chiken)\
**Post date:** [July 14, 2008, 5:35pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913/6 "2008-07-14T17:35:59Z")

</div>

thanks for all the help…stringy u are the man that did fix it…thanks so much! and thanks to everyone else to contributed

---

<div class="post-metadata">

**Author:** ![stringy](https://avatars.discourse-cdn.com/v4/letter/s/919ad9/32.png) [@stringy](https://forum.kirupa.com/u/stringy)\
**Post date:** [July 14, 2008, 8:51pm UTC](https://forum.kirupa.com/t/flash-mx-2004-as-2-0-help-loading-thumbs/265913/7 "2008-07-14T20:51:49Z")

</div>

[QUOTE=ruffneck\_chiken;2358423]thanks for all the help…stringy u are the man that did fix it…thanks so much! and thanks to everyone else to contributed[/QUOTE]

Glad we could help 🙂
