# Actionscript problem with "Kirupa Photo Gallery"

**URL:** <https://forum.kirupa.com/t/actionscript-problem-with-kirupa-photo-gallery/233062>\
**Category:** flash\
**Created:** [July 19, 2007, 8:05pm UTC](https://forum.kirupa.com/t/actionscript-problem-with-kirupa-photo-gallery/233062 "2007-07-19T20:05:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Citizen](https://avatars.discourse-cdn.com/v4/letter/c/d78d45/32.png) [@Citizen](https://forum.kirupa.com/u/Citizen)\
**Post date:** [July 19, 2007, 8:05pm UTC](https://forum.kirupa.com/t/actionscript-problem-with-kirupa-photo-gallery/233062/1 "2007-07-19T20:05:36Z")

</div>

As per this guide:

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

I implimented it,

It didn’t load the images at all at first. Then, I found the problem to be that this clip is not located at root level, so I changed the two instances of \_root.photo in the actionsctipt to this.photo, which sucessfully loaded the first image. The problem is that now it wont load any new images when I click next or previous.

Here’s my code on my buttons:

```auto
on (release) {
    this._parent.changePhoto(1);    
}

```

Here’s my edited actions 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 = "photos/";
// fill this array with your pics
this.pArray = ["image0.jpg", "image1.jpg", "image2.jpg", "image3.jpg", "image4.jpg", "image5.jpg", "image6.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], this.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 = this.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);

```
