# Help with Photo Gallery Tutorial

**URL:** <https://forum.kirupa.com/t/help-with-photo-gallery-tutorial/37250>\
**Category:** flash\
**Created:** [December 7, 2003, 9:19pm UTC](https://forum.kirupa.com/t/help-with-photo-gallery-tutorial/37250 "2003-12-07T21:19:38Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![galiena](https://avatars.discourse-cdn.com/v4/letter/g/839c29/32.png) [@galiena](https://forum.kirupa.com/u/galiena)\
**Post date:** [December 7, 2003, 9:19pm UTC](https://forum.kirupa.com/t/help-with-photo-gallery-tutorial/37250/1 "2003-12-07T21:19:38Z")

</div>

Tutorial Link: [http://www.kirupa.com/developer/mx/photogallery.htm](http://www.kirupa.com/developer/mx/photogallery.htm)

The error I’m getting when I try to play the movie/photo album,  
NaN  
NaN  
(etc. over and over again until I x out. It displays in the output box after I transition from the first picture to either direction.)

I’m not sure what he means by d=direction. Am I supposed to fill a variable in? If so, where do I put that number? I’m grateful for any help.

My alteration of the code:

//Code written by sbeener (suprabeener)  
/\*  
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 = “[http://web.utk.edu/~jwatso13/vacation/](http://web.utk.edu/~jwatso13/vacation/)”;  
// fill this array with your pics  
this.pArray = [“v2.jpg”, “v3.jpg”, “v4.jpg”, “v5.jpg”, “v6.jpg”, “v7.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);
