ok i have a photo gallery that is based off the kirupa.com photo gallery. the only thing is i don’t want to have to go in a recode the flash movie when i want to add photos, and knowing a bit of php, i figured i could do it dynamically, here’s what i came up with.
frame 1:
loaded="";
_root.loadVariables(“ftest.php”);
frame 2:
blank
frame 3:
if(loaded eq “”){
gotoAndPlay(2);
} else {
this.pArray = mylist.split(",");
}
frame 4 (this is the kirupa.com script):
//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 = “images/”;
// fill this array with your pics
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);
stop();
all of the frames are blank except the 4th frame which has a movie clip in it called ‘photo’, which is just a box.
so what happens is i get a ‘root directories\images\undefined’ error.
if i change the ftest.php in frame 1 to ftest.txt, a text file with the following line in it ‘mylist=1.jpg,2.jpg,3.jpg&loaded=1’ it works fine. my php file generates the same list (mylist=1.jpg,2.jpg3.jpg) and appends ‘&loaded=1’ to the end of the list.
i know it’s just my ignorance on how to import php data that’s causing the problem. can anyone give me a hand?
thanks,
nate