so i’ve managed to create multiple xml galleries (using the the tutorial on the website as the basis for the galleries, and i simply made multiples of that).
the thing is, i have a feeling that simply copy and pasting the code and using it to call a different xml gallery (file) is incorrect as now i am experiencing trouble with the keyboard (right and left) controls for the gallery.
this is the gallery:
http://gennybeans.com/blumegal/root.html
this is the actionscript code that i’ve copy & pasted for each gallery:
cliparray = [];
columns = 4;
spacex =70
spacey=70
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;
}
sload()
firstImage();
} else {
content = "file not loaded!";
}
}
function drawSquare(clip, depth, colour, x, y, w, h) {
var mc = clip.createEmptyMovieClip("clip"+depth, depth);
mc._x = x;
mc._y = y;
mc.lineStyle();
mc.beginFill(colour);
mc.lineTo(w, 0);
mc.lineTo(w, h);
mc.lineTo(0, h);
mc.endFill();
return mc;
}
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;
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
}
}
}
function prevImage() {
if (p>0) {
p--;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
picture_num();
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}
var ij=0
function sload() {
for (var i = 0; i<image.length; i++) {
var clip = drawSquare(this, i, 0, 0, 0, 45, 45);
clip._x =560+ (i%columns)*spacex;
clip._y =200+ Math.floor(i/columns)*spacey;
var clap =clip.createEmptyMovieClip("tt",1)
clap._x = 2
clap._y = 2
cliparray.push(clap);
clip.pictureValue =i;
clip.onRelease = function() {
p = this.pictureValue-1;
nextImage();
};
clip.onRollOver = function() {
this._alpha = 50;
};
clip.onRollOut = function() {
this._alpha = 100;
};
}
startload()
}
this.createEmptyMovieClip("checker",1000)
function checkload() {
checker.onEnterFrame = function() {
if (cliparray[ij]._width) {
delete this.onEnterFrame;
if (ij<cliparray.length-1) {
ij++;
startload();
}
}
};
}
function startload() {
cliparray[ij].loadMovie(thumbnails[ij]);
checkload();
}
the keyboard controls only mess up once you click “next” to activate the next gallery.
is there any way to remedy this? my guess would be i’d have to change the name of the movieclip that creatEmptyMovieClip creates, but i tried that, and it didn’t quite work out.