I got this code from Scotty and it works great except that the preloader bar
is initially full instead of empty when the images are starting to load. Is there a way to fix this? Thanks.
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
}
id = setInterval(preloadPic, 100);
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
var loadTot = 0;
var k = 0;
// ///////////////////////////////////
function preloadPic() {
clearInterval(id);
var con = picture.duplicateMovieClip("con"+k, 9984+k);
con.loadMovie(image[k]);
var temp = _root.createEmptyMovieClip("temp"+k, 99+k);
temp.onEnterFrame = function() {
var total = con.getBytesTotal();
var loaded = con.getBytesLoaded();
percent = Math.round((loaded/total*100)/image.length);
preloader.preload_bar._xscale = loadTot+percent;
info.text = "Loading picture "+k+" of "+image.length+" total";
if (loaded == total && total>4) {
con._visible = 0;
nextPic();
loadTot += percent;
delete this.onEnterFrame;
}
};
}
function nextPic() {
if (k<image.length-1) {
k++;
preloadPic();
} else {
firstImage();
trace("hit");
}
}
// ///////////////////////////////////
var p = 0;
var current;
MovieClip.prototype.fadeIn = function() {
if (this._alpha<100) {
current._alpha -= 10;
this._alpha += 10;
} else {
current._visible = 0;
delete this.onEnterFrame;
}
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
};
function nextImage() {
current = this["con"+p];
p++;
var picture = this["con"+p];
picture._visible = 1;
picture._alpha = 0;
picture.onEnterFrame = fadeIn;
desc_txt.text = description[p];
picture_num();
}
function prevImage() {
current = this["con"+p];
p--;
var picture = this["con"+p];
picture._visible = 1;
picture._alpha = 0;
picture.onEnterFrame = fadeIn;
desc_txt.text = description[p];
picture_num();
}
function firstImage() {
con0._visible = 1;
con0._alpha = 0;
con0.onEnterFrame = fadeIn;
desc_txt.text = description[0];
picture_num();
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" of "+total;
if (p == 0) {
previous_btn._alpha = 50;
previous_btn.enabled = false;
} else {
previous_btn._alpha = 100;
previous_btn.enabled = true;
}
if (p == (total-1)) {
next_btn._alpha = 50;
next_btn.enabled = false;
} else {
next_btn._alpha = 100;
next_btn.enabled = true;
}
}