# XML photogallery HELP!

**URL:** https://forum.kirupa.com/t/xml-photogallery-help/214506
**Category:** flash
**Created:** [January 29, 2007, 6:09pm UTC](https://forum.kirupa.com/t/xml-photogallery-help/214506 "2007-01-29T18:09:07Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![bboypapi](https://avatars.discourse-cdn.com/v4/letter/b/838e76/32.png) [@bboypapi](https://forum.kirupa.com/u/bboypapi)
#### Post date: [January 29, 2007, 6:09pm UTC](https://forum.kirupa.com/t/xml-photogallery-help/214506/1 "2007-01-29T18:09:07Z")

</div>

Hi,  
I just built and XML using the thumbnail scroller XML tutorial. I mergered this with a border resize. My problem is that the first image takes a long time to load from the XML. I had this problem before and I don’t remember how I resolved this. You can see an example of this at [www.byronmedina.com](http://www.byronmedina.com) If you delete files on your internet browser the first image will take forever to load. However, once it loads this problem goes away. The code for all three books are the same. I think it could have to do with the XML.

Here’s the flash code:  
stop();

border.resize(50, 50);  
//preload bar set invisible  
bar.\_visible = 0;  
// space of border around image  
space = 22;

// sets initial picture value to 0  
picture.\_alpha = 0;

// fade In and out function  
import mx.transitions.Tween;  
import mx.transitions.easing._;  
function fadeMovieClip(startAt:Number, endAt:Number):Void {  
var myTween:Tween = new Tween(picture, “\_alpha”, mx.transitions.easing.None.easeNone, startAt, endAt, .5, true);  
}  
// load XML  
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(“images2.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;  
MovieClip.prototype.loadPhoto = function(photo){  
this.loadMovie(photo);  
\_level0.onEnterFrame = function(){  
var t = picture.getBytesTotal(), l = picture.getBytesLoaded();  
bar.\_visible = 1;  
per = Math.round((l/t)\*100);  
if (t == l && picture.\_width\>0 && picture.\_height\>0) {  
var w = picture.\_width + space;  
var h = picture.\_height + space;  
border.resize(w, h);  
bar.\_visible = 0;  
delete this.onEnterFrame;  
} else {  
bar.\_width = per;

```
	}
}

```

};  
MovieClip.prototype.resize = function(w, h){  
//the higher the slower the resize of the border  
var speed = 3;  
this.onEnterFrame = function(){  
fadeMovieClip(0, 100);  
this.\_width += (w - this.\_width)/speed;  
this.\_height += (h - this.\_height)/speed;  
if( Math.abs(this.\_width-w)\<1 && Math.abs(this.\_height-h)\<1){  
this.\_width = w;  
this.\_height = h;  
picture.\_x = this.\_x - this.\_width/2 + space/2;  
picture.\_y = this.\_y - this.\_height/2 + space/2;  
delete this.onEnterFrame;  
}  
}  
};

function nextImage() {  
if (p\<(total-1)) {  
p++;  
if (loaded == filesize) {  
picture.\_alpha=0;  
picture.loadPhoto(image[p]);  
desc\_txt.text = description[p];  
picture\_num();  
}  
}  
}

function prevImage() {  
if (p\>0) {  
picture.\_alpha=0;  
p–;  
picture.loadPhoto(image[p]);  
desc\_txt.text = description[p];  
picture\_num();  
}  
}  
function firstImage() {  
if (loaded == filesize) {  
picture.\_alpha=0;  
picture.loadPhoto(image[p]);  
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 ((\_root.\_ymouse\>=thumbnail\_mc.\_y) && (\_root.\_ymouse\<=thumbnail\_mc.\_y+thumbnail\_mc.\_height)) {  
if ((\_root.\_xmouse\>=(hit\_right.\_x-40)) && (thumbnail\_mc.hitTest(hit\_right))) {  
thumbnail\_mc.\_x -= scroll\_speed;  
} else if ((\_root.\_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;  
};  
};  
image\_mcl = new MovieClipLoader();  
image\_mcl.addListener(tlistener);  
image\_mcl.loadClip(thumbnails[k], “thumbnail\_mc.t”+k);  
}

And here is the XML code:

\<?xml version=“1.0” encoding=“utf-8” standalone=“yes”?\>  
\<images\>  
\<pic\>  
\<image\>image02/01.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/01.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/02.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/02.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/03.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/03.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/04.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/04.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/05.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/05.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/06.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/06.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/07.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/07.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/08.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/08.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/09.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/09.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/10.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/10.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/11.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/11.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/12.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/12.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/13.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/13.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/14.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/14.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/15.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/15.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/16.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/16.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/17.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/17.jpg\</thumbnail02\>  
\</pic\>  
\<pic\>  
\<image\>image02/18.jpg\</image\>  
\<caption\>\</caption\>  
\<thumbnail02\>thumb02/18.jpg\</thumbnail02\>  
\</pic\>  
\</images\>

Please help!
