Xml sliding menu timeline

HI there,

I am about to develop a timeline showing the past significant developments of a company and I believe the tutorial for the sliding menu found [COLOR=#003366]http://www.kirupa.com/developer/flash5/slidingmenu.htm[/COLOR] would be a great place to start. However there could potentially be a large volume of data to include so I would like it to be xml driven or to load seperate movie clips externally for each option to reduce file size and therefore download time. Any suggestions would be very much appreciated. Thanks!

yerh read the kipura tutorials on xml :stuck_out_tongue:

thumbnail galleries

all the info is there

just make sure to stick all the individual MCs in a container MC, before starting the slider function code.

Hi Randomagain, thanks for your reply and appologies for the ‘spamming’ in the other forum - just realised that I posted my query in the wrong section.

I have followed the add thumbnails xml gallery and I have started to place the seperate MCs (for each image) within a container MC as you suggested but the images do not load now anything wrong with the AS? I asume that the seperate MCs will each need to be defined with a unique instance name. Also, will the images still all load from the same xml file or do they all need to be defined seperately? Thanks!!

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;
thumbnails_fn(i);
}
firstImage();
} else {
content = “file not loaded!”;
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(“images.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;
}
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);
}

i think this a bad example to work from… i think its maybe a little overly basic

if all you are loading is jpgs instead of swfs, just change the jpg for a swf…

each thumbnail has a UID, incremented “k” value

if you have added another container MC you’ve changed the path, so you will have to say

[“thumbnail”+k].containerMC.loadMovie()

if you catch my drift

Sorry, I’m not sure I do. I just want it to work in the same way as the sliding menu but loading jpgs form an xml file when each option is selected

well take the example, and change the path in the xml…

swf1.swf
sw2.swf

and replace it with

img1.jpg
img2.jpg

it will load a JPG the same as a Swf