I want to create one XML file for different galleries. I was able to modify the XML tutorial gallery to do what I need it to do. Now my issue is when I specify which “type” to load it does not place the thumbnails and load them correctly. It will load the images in the same order where they are in the XML File. I dont know what to do on this. I have been trying to do this for quite some time. I hope I was clear , cause it is a bit hard to explain. So I am including the files.
Here is the code:
_parent.smenu.sb1.onRelease = function () {
gotoAndPlay (2);
};
_parent.smenu.sb2.onRelease = function () {
gotoAndPlay (2);
};
//
sectionname="band"
var container:MovieClip = this.picture.createEmptyMovieClip ("container", 1000);
function loadXML (loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
thumbnails = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
if (xmlNode.childNodes*.attributes.type == sectionname) {
thumbnails* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
duplicateMovieClip (picture.container, "pic"+i, i);
thumbnails_fn (i);
}
}
firstImage ();
} else {
content = "file not loaded!";
}
}
xmlData = new XML ();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load ("xmlgallery.xml");
/////////////////////////////////////
listen = new Object ();
listen.onKeyDown = function () {
if (Key.getCode () == Key.LEFT) {
prevImage ();
} else if (Key.getCode () == Key.RIGHT) {
nextImage ();
}
};
Key.addListener (listen);
/*this.picnav.prev_btn.onRelease = function () {
prevImage ();
};
this.picnav.next_btn.onRelease = function () {
nextImage ();
};*/
/////////////////////////////////////
p = 0;
this.onEnterFrame = function () {
filesize = picture["pic"+p].getBytesTotal ();
loaded = picture["pic"+p].getBytesLoaded ();
this.preloader._visible = true;
if (loaded != filesize) {
this.preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
this.preloader._visible = false;
if (picture["pic"+p]._alpha<100) {
picture["pic"+p]._alpha += 10;
}
}
};
function firstImage () {
p = 0;
if (loaded == filesize) {
picture["pic"+p]._alpha = 0;
picture["pic"+p].loadMovie (image[p], p);
this.desc_txt.text = description[p];
}
picture_num ();
}
function nextImage () {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture["pic"+p]._alpha = 0;
picture["pic"+p].loadMovie (image[p], picture["pic"+p].swapDepths (picture.getNextHighestDepth ()));
this.desc_txt.text = description[p];
}
picture_num ();
}
}
function prevImage () {
picture_num ();
if (p>0) {
p--;
picture["pic"+p]._alpha = 0;
picture["pic"+p].loadMovie (image[p], picture["pic"+p].swapDepths (picture.getNextHighestDepth ()));
this.desc_txt.text = description[p];
}
picture_num ();
}
function picture_num () {
current_pos = p+1;
pos_txt.text = current_pos;
}
function thumbNailScroller () {
// thumbnail code!
this.createEmptyMovieClip ("tscroller", 1000);
scroll_speed = 10;
tscroller.onEnterFrame = function () {
if ((_root._ymouse>=thumbnail_mc._y) && (_root._ymouse<=thumbnail_mc._y+thumbnail_mc._height)) {
if ((_root._xmouse>=(hit_right._x-40)) && (thumbnail_mc.hitTest (hit_right))) {
thumbnail_mc._x -= scroll_speed;
} else if ((_root._xmouse<=(hit_left._x+40)) && (thumbnail_mc.hitTest (hit_left))) {
thumbnail_mc._x += scroll_speed;
}
} else {
delete tscroller.onEnterFrame;
}
};
}
function thumbnails_fn (k) {
thumbnail_mc.createEmptyMovieClip ("t"+k, thumbnail_mc.getNextHighestDepth ());
tlistener = new Object ();
tlistener.onLoadInit = function (target_mc) {
target_mc._x = hit_left._x+(target_mc._width+5)*k;
target_mc.pictureValue = k;
target_mc.onRelease = function () {
p = this.pictureValue-1;
nextImage ();
};
target_mc.onRollOver = function () {
this._alpha = 50;
thumbNailScroller ();
};
target_mc.onRollOut = function () {
this._alpha = 100;
};
};
image_mcl = new MovieClipLoader ();
image_mcl.addListener (tlistener);
image_mcl.loadClip (thumbnails[k], "thumbnail_mc.t"+k);
}