# Can Someone Help Me Fix this Array to Load from an XML?

**URL:** https://forum.kirupa.com/t/can-someone-help-me-fix-this-array-to-load-from-an-xml/154393
**Category:** flash
**Created:** [July 9, 2005, 6:22am UTC](https://forum.kirupa.com/t/can-someone-help-me-fix-this-array-to-load-from-an-xml/154393 "2005-07-09T06:22:25Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![milesdavis](https://avatars.discourse-cdn.com/v4/letter/m/87869e/32.png) [@milesdavis](https://forum.kirupa.com/u/milesdavis)
#### Post date: [July 9, 2005, 6:22am UTC](https://forum.kirupa.com/t/can-someone-help-me-fix-this-array-to-load-from-an-xml/154393/1 "2005-07-09T06:22:25Z")

</div>

Hey All,

I’m trying to use the following actionscript in a photo gallery, I believe it’s based on a tutorial from Kirupa.

Basically, where it uses pArray and loads a series of images you define within the SWF itself (ie. g1-0.jpg, g1-1.jpg, etc.) I want to tell it to look to a text file, or to an XML file to load the images.

I want a client to be able to add/subtract images without having to access the SWF. I love this gallery otherwise, but if they decide to use one less image, or one more image it will show a blank space.

I was hoping I could tell it to just load any image starting with a sertain prefix, like g1-\*.jpg, then it would display g1-0.jpg through g1-20.jpg, etc. If the client added or subtracted an image, the file would go to the start of the list.

Thanks for any help!!! 🙂

-md

the code:

```auto
// 
// i wrote this code, but you can use and abuse it however you like.
// the methods are defined in the order which they occur to make it
// easier to understand.
// 
// variables ------------------------------------------
// put the path to your pics here, include the slashes (ie. "pics/")
// leave it blank if they're in the same directory
this.pathToPics = "animation/";
// fill this array with your pics
this.pArray = ["g1-0.jpg", "g1-1.jpg", "g1-2.jpg", "g1-3.jpg", "g1-4.jpg","g1-5.jpg","g1-6.jpg","g1-7.jpg"];
this.fadeSpeed = 20;
this.pIndex = 0;
// MovieClip methods ----------------------------------
// d=direction; should 1 or -1 but can be any number
// loads an image automatically when you run animation
loadMovie(this.pathToPics+this.pArray[0], _root.photo);
MovieClip.prototype.changePhoto = function(d) {
	// make sure pIndex falls within pArray.length
	this.pIndex = (this.pIndex+d)%this.pArray.length;
	if (this.pIndex<0) {
		this.pIndex += this.pArray.length;
	}
	this.onEnterFrame = fadeOut;
};
MovieClip.prototype.fadeOut = function() {
	if (this.photo._alpha>this.fadeSpeed) {
		this.photo._alpha -= this.fadeSpeed;
	} else {
		this.loadPhoto();
	}
};
MovieClip.prototype.loadPhoto = function() {
	// specify the movieclip to load images into
	var p = _root.photo;
	// ------------------------------------------
	p._alpha = 0;
	p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
	this.onEnterFrame = loadMeter;
};
MovieClip.prototype.loadMeter = function() {
	var i, l, t;
	l = this.photo.getBytesLoaded();
	t = this.photo.getBytesTotal();
	if (t>0 && t == l) {
		this.onEnterFrame = fadeIn;
	} else {
		trace(l/t);
	}
};
MovieClip.prototype.fadeIn = function() {
	if (this.photo._alpha<100-this.fadeSpeed) {
		this.photo._alpha += this.fadeSpeed;
	} else {
		this.photo._alpha = 100;
		this.onEnterFrame = null;
	}
};
// Actions -----------------------------------------
// these aren't necessary, just an example implementation
this.onKeyDown = function() {
	if (Key.getCode() == Key.LEFT) {
		this.changePhoto(-1);
	} else if (Key.getCode() == Key.RIGHT) {
		this.changePhoto(1);
	}
};
Key.addListener(this);

```
