Hi all, I’m currently using an adaptation of one of the versions of FlawlessDog XML Flash Slideshow here:
http://www.kirupa.com/forum/showpost.php?p=2145614&postcount=13 (Version 401)
It works great for me, but when I upload it online the preloader doesn’t work and it just loads blank bits in between each images.
FlawlessDog has provided me with great support and I can’t thank him enough with how much I appreciate his help.
But I thought I’d post the source from it and see if anyone else has some thoughts
////////////////////////////////////////////////////////////////
/////////////////////Some new variables/////////////////////////
//bgSlider.slider_1new
//bgSlider.slider_2new
//bgSlider.slider_1old
//bgSlider.slider_2old
//true means the default set "bgSlider.slider_1new" and "bgSlider.slider_2new"
//are the two new Mc's being loaded, and sliding onto the stage.
//"bgSlider.slider_1old" and ""bgSlider.slider_2old" will slide off stage.
var SetToggle:Boolean = true;
var myNext:Boolean=true;
var isDone:Boolean=false;
var p:Number = 0;
var firstLoad:Boolean = true;
var myAutoplay:Boolean = false;
//eggsLoader._visible = false;
eggsLoader._xscale = 0;
pause2_btn._visible = false;
pause1_btn._visible = true;
play2_btn._visible = true;
play1_btn._visible = false;
info2_btn._visible = false;
info_mc._visible = false;
thumbs2_btn._visible = false;
bgSlider.slider_1new._x = -745;
bgSlider.slider_2new._x = 745;
bgSlider.slider_1old._x = 0;
bgSlider.slider_2old._x = 0;
////////////////////////////////////////////////////////////////
////////Load the XML and store it and fire first image//////////
cliparray = [];
loadXML = function(loaded){
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
thumbnail = [];
heading = [];
info = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
description* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
thumbnail* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
thumbnail_fn(i);
heading* = xmlNode.childNodes*.childNodes[3].firstChild.nodeValue;
info* = xmlNode.childNodes*.childNodes[4].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
};
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
////////////////////////////////////////////////////////////////
///////////////Get the controls ready for use///////////////////
listen = new Object();
listen.onKeyDown = function() {
if (isDone != false){
if (Key.getCode() == Key.LEFT) {
myNext = false;
myCounter = 5;
myImage();
}else if (Key.getCode() == Key.RIGHT) {
myNext = true;
myCounter = 5;
myImage();
}
}
};
Key.addListener(listen);
backBtn.onRelease = backBtn.onReleaseOutside = function() {
if (isDone != false){
myNext = false;
myCounter = 5;
myImage();
}
};
nextBtn.onRelease = nextBtn.onReleaseOutside = function() {
if (isDone != false){
myNext = true;
myCounter = 5;
myImage();
}
};
play1_btn.onRelease = nextBtn.onReleaseOutside = function() {
//myAutoplay = false;
//play2_btn._visible = false;
//pause2_btn._visible = true;
//this._visible = false;
};
play2_btn.onRelease = nextBtn.onReleaseOutside = function() {
myAutoplay = true;
play1_btn._visible = true;
pause2_btn._visible = true;
this._visible = false;
};
pause1_btn.onRelease = nextBtn.onReleaseOutside = function() {
//myAutoplay = false;
//play1_btn._visible = false;
//pause2_btn._visible = true;
//this._visible = false;
};
pause2_btn.onRelease = nextBtn.onReleaseOutside = function() {
myAutoplay = false;
play2_btn._visible = true;
pause1_btn._visible = true;
this._visible = false;
};
info1_btn.onRelease = function() {
this._visible = false;
info2_btn._visible = true;
thumbs1_btn._visible = true;
thumbs2_btn._visible = false;
thumbs_mc._visible = false;
//info_mc.play();
info_mc._visible = true;
};
info2_btn.onRelease = function() {
this._visible = false;
info1_btn._visible = true;
thumbs1_btn._visible = true;
thumbs2_btn._visible = false;
thumbs_mc._visible = true;
//info_mc.play();
info_mc._visible = false;
};
thumbs1_btn.onRelease = function() {
this._visible = false;
info1_btn._visible = true;
info2_btn._visible = false;
//info_mc.play();
info_mc._visible = false;
thumbs2_btn._visible = true;
thumbs_mc._visible = true;
thumbs_mc.play();
};
thumbs2_btn.onRelease = function() {
this._visible = false;
info2_btn._visible = false;
info1_btn._visible = true;
//info_mc.play();
info_mc._visible = false;
thumbs1_btn._visible = true;
thumbs_mc.play();
};
////////////////////////////////////////////////////////////////
//////////////////////PreLoader script//////////////////////////
myLoader = function():Void {
eggsLoader.onEnterFrame = function(){
eggsLoader._xscale = 0;
if (SetToggle == true){
trace(SetToggle);
var loaded:Number = bgSlider.slider_1new.getBytesLoaded();
var total:Number = bgSlider.slider_1new.getBytesTotal();
var eggsLoaded:Number = Math.round(Number(loaded)/Number(total)*100);
if(Number(loaded) != Number(total)){
//desc_txt.text = Number(eggsLoaded) + " % Loaded";
eggsLoader._xscale = Number(eggsLoaded);
}else{
movePic();
desc_txt.text = description[p];
info_mc.desc_txt.text = description[p];
info_mc.info_txt.text = info[p];
delete eggsLoader.onEnterFrame;
}
}else if(SetToggle == false){
trace(SetToggle);
var loaded:Number = bgSlider.slider_1old.getBytesLoaded();
var total:Number = bgSlider.slider_1old.getBytesTotal();
var eggsLoaded:Number = Math.round(Number(loaded)/Number(total)*100);
if(Number(loaded) != Number(total)){
//desc_txt.text = Number(eggsLoaded) + " % Loaded";
eggsLoader._xscale = Number(eggsLoaded);
}else{
movePic();
desc_txt.text = description[p];
head_txt.text = heading[p];
info_mc.desc_txt.text = description[p];
info_mc.info_txt.text = info[p];
delete eggsLoader.onEnterFrame;
}
}
};
};
////////////////////////////////////////////////////////////////
////////////////////Picture/Text controls///////////////////////
myImage = function():Void {
//function nextImage()//
if (myNext == true){
if(p<(total-1)){
p++;
myToggleReader();
}else if(p >= total-1){
p=0;
myToggleReader();
}
}else if (myNext == false){
//function prevImage()//
if(p>0){
p--;
myToggleReader();
}else if(p<=0){
p=total-1;
myToggleReader();
}
}
};
myToggleReader = function():Void {
if (SetToggle == true){
bgSlider.slider_1new.loadMovie(image[p]);
bgSlider.slider_2new.loadMovie(image[p]);
}else if(SetToggle == false){
bgSlider.slider_1old.loadMovie(image[p]);
bgSlider.slider_2old.loadMovie(image[p]);
}
desc_txt.text = description[p];
head_txt.text = heading[p];
info_mc.desc_txt.text = description[p];
info_mc.info_txt.text = info[p];
picture_num();
myLoader();
};
firstImage = function():Void {
bgSlider.slider_1new.loadMovie(image[0]);
bgSlider.slider_2new.loadMovie(image[0]);
desc_txt.text = description[p];
head_txt.text = heading[p];
info_mc.desc_txt.text = description[p];
info_mc.info_txt.text = info[p];
picture_num();
myLoader();
};
/*for (var i = 0; i<mainarray[this.ivar].length; i++) {
var let = main.ppp.scroller.noholder.attachMovie("scrolltex", "st"+i, i);
if (i+1<10) {
let.mytext.text = "0"+Number(i+1);
} else {
let.mytext.text = i+1;
}*/
picture_num = function():Void {
current_pos = p+1;
pos_txt.text = current_pos+" of "+total;
};
/*picture_num = function():Void{
for(var i = 0; i<=[this.ivar].length; i++){
if (i+1<10){
current_pos.Number = "0"+Number(i+1);
pos_txt.text = current_pos+" _ "+total;
}else{
current_pos.Number = i+1;
pos_txt.text = current_pos+" _ "+total;
}
}
}*/
////////////////////////////////////////////////////////////////
////////////////////////Timer Function//////////////////////////
///Set for approx 5 seconds in the Number variable myCounter////
var myCounter:Number = 5;
countDown = function():Void {
if (myAutoplay == true){
myCounter--;
if (myCounter == 0){
myCounter = 5;
myNext = myNext;
myImage();
}
}else{
break;
}
};
//This fires the countDown function every 1000 milliseconds(1 second)//
var timer:Number = setInterval(countDown, 1000);
////////////////////////////////////////////////////////////////
/////////////////////Thumbnail Functions////////////////////////
this.createEmptyMovieClip("tscroller", 1000);
scroll_speed = 10;
var tot = 0;
tscroller.onEnterFrame = function() {
if ((_root._ymouse>=thumbs_mc.thumbnail_mc._y) && (_root._ymouse<=thumbs_mc.thumbnail_mc._y+thumbs_mc.thumbnail_mc._height)) {
if (_root._xmouse>=(thumbs_mc.hit_right._x-40)) {
for (var obj in cliparray) {
cliparray[obj]._x -= scroll_speed;
}
if (cliparray[0]._x<-cliparray[0]._width) {
cliparray[0]._x = cliparray[cliparray.length-1]._x+cliparray[cliparray.length-1]._width+5;
var j = cliparray.splice(0, 1);
cliparray = cliparray.concat(j);
}
} else if (_root._xmouse<=(thumbs_mc.hit_left._x+40)) {
for (var obj in cliparray) {
cliparray[obj]._x += scroll_speed;
}
if (cliparray[cliparray.length-1]._x>thumbs_mc.hit_right._x) {
cliparray[cliparray.length-1]._x = cliparray[0]._x-(cliparray[cliparray.length-1]._width+5);
var j = cliparray.splice(cliparray.length-1, 1);
cliparray = j.concat(cliparray);
}
}
}
};
function thumbnail_fn(k):Void {
var yy = thumbs_mc.thumbnail_mc.createEmptyMovieClip("t"+k, thumbs_mc.thumbnail_mc.getNextHighestDepth());
cliparray.push(yy);
tlistener = new Object();
tlistener.onLoadInit = function(target_mc) {
target_mc._x = 5+(target_mc._width+5)*k;
//target_mc._y = 5+(target_mc.width+5)*k;
target_mc.pictureValue = k;
tot += target_mc._x;
//tot += target_mc._y;
target_mc._alpha = 40;
target_mc.onRelease = function() {
if (isDone != false){
myCounter = 5;
myNext = myNext;
p = this.pictureValue;
myToggleReader();
}
};
target_mc.onRollOver = function() {
this._alpha = 100;
thumbNailScroller();
//this._width = "90";
//this._height = "70";
};
target_mc.onRollOut = function() {
this._alpha = 40;
//this._width = "90";
//this._height = "65";
};
};
image_mcl = new MovieClipLoader();
image_mcl.addListener(tlistener);
image_mcl.loadClip(thumbnail[k], "thumbs_mc.thumbnail_mc.t"+k);
};
////////////////////////////////////////////////////////////////
///////////////////////Slider Functions/////////////////////////
movePic = function():Void {
bgSlider.onEnterFrame = function(){
if (firstLoad == true){
isDone = true;
bgSlider.slider_1new._x = 0;
bgSlider.slider_2new._x = 0;
bgSlider.slider_1old._x = -745;
bgSlider.slider_2old._x = 745;
SetToggle = false;
firstLoad = false;
delete bgSlider.onEnterFrame;
}else{
if (SetToggle == true){
if (bgSlider.slider_1new._x == 0 && bgSlider.slider_2new._x == 0){
isDone = true;
bgSlider.slider_1new._x = 0;
bgSlider.slider_2new._x = 0;
bgSlider.slider_1old._x = 745;
bgSlider.slider_2old._x = -745;
SetToggle = false;
delete bgSlider.onEnterFrame;
}else{
isDone = false;
new mx.transitions.Tween(bgSlider.slider_1new, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_1new._x, 0, 1.5, true);
new mx.transitions.Tween(bgSlider.slider_2new, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_2new._x, 0, 1.5, true);
new mx.transitions.Tween(bgSlider.slider_1old, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_1old._x, -745, 1.5, true);
new mx.transitions.Tween(bgSlider.slider_2old, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_2old._x, 745, 1.5, true);
}
}else if(SetToggle == false){
if (bgSlider.slider_1old._x == 0 && bgSlider.slider_2old._x == 0){
isDone = true;
bgSlider.slider_1new._x = -745;
bgSlider.slider_2new._x = 745;
bgSlider.slider_1old._x = 0;
bgSlider.slider_2old._x = 0;
SetToggle = true;
delete bgSlider.onEnterFrame;
}else{
isDone = false;
new mx.transitions.Tween(bgSlider.slider_1old, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_1old._x, 0, 1.5, true);
new mx.transitions.Tween(bgSlider.slider_2old, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_2old._x, 0, 1.5, true);
new mx.transitions.Tween(bgSlider.slider_1new, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_1new._x, 745, 1.5, true);
new mx.transitions.Tween(bgSlider.slider_2new, "_x", mx.transitions.easing.Elastic.easeOut, bgSlider.slider_2new._x, -745, 1.5, true);
}
}
}
};
};
stop();
Cheers