Hi,
I’ve managed to merge some of the tutorials and AS from other posts to create an xml slideshow that rotates and has a series of buttons.
http://www.kirupa.com/developer/mx2004/xml_slideshow.htm
This is my online version;
http://www.jimmypownall.com/
It’s working quite well but I can’t seem to get a cross-fade working smoothly. I tried one direction from another post in adding a second ‘picture2’ MC but it would go berserk when the buttons were pressed and the copy wouldn’t appear on the first set of XML description node. My AS knowledge is OK but if anyone could help out it would be great.
delay = 6000;
//-----------------------
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
link = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
link* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("/pages/home_feature.xml");
//xmlData.load("/pages/website_feature.xml");
//xmlData.load("/pages/banners_feature.xml");
//xmlData.load("/pages/print_feature.xml");
//xmlData.load("/pages/branding_feature.xml");
//xmlData.load("/pages/packaging_feature.xml");
//xmlData.load("/pages/icons_feature.xml");
//xmlData.load("/pages/illustration_feature.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;
}
//getURL statement
//
link_but.onPress = function() {
getURL(link[p], "_self");
};
picture.onPress = function() {
getURL(link[p], "_self");
};
}
};
var myInterval;
function nextImage() {
p++;
p %= image.length;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
clearInterval(myInterval);
if (playing) {
slideshow();
}
}
}
function prevImage() {
clearInterval(myInterval);
if (playing) {
slideshow();
}
if (p>0) {
p--;
} else {
p = image.length-1;
}
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();
clearInterval(myInterval);
if (playing) {
slideshow();
}
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+"/"+total;
}
function slideshow() {
myInterval = setInterval(pause_slideshow, delay);
function pause_slideshow() {
clearInterval(myInterval);
nextImage();
}
}
playing = true
playbut.onPress = function(){
playing = true
nextImage()
}
playbut.onRelease =playbut.onReleaseOutside= function(){
this.enabled = false
}
stopbut.onPress = function(){
playing = false
playbut.enabled = true
playbut.gotoAndStop("_up")
clearInterval(myInterval)
}