4 Replies Latest reply on Sep 17, 2008 10:19 PM by kglad

    Slideshow from xml - loads in wrong order

    FluidStudios
      Hi,

      I modified an existing slideshow script so that it would like to a page when you clicked the image. However, the images do not always load up in the correct order, but the links and descriptions do, so if you click an image it takes you to the wrong page.

      It changes when you refresh the browser and acts differently in ie to firefox - in ie it is usualy incorrect the first time, then goes ok once u refresh. The link to view is: http://www.fluidstudioswms.com/gftc/
      and the actionscript is:

      //--------------------------------------------------------
      import mx.transitions.Tween;
      import mx.transitions.easing.*;

      var myShowXML = new XML();
      myShowXML.ignoreWhite = true;
      myShowXML.load("cfpromoexport.xml?cachebuster=" +Math.random()+ new Date().getTime());

      myShowXML.onLoad = function() {
      _root.myWidth = myShowXML.firstChild.attributes.width;
      _root.myHeight = myShowXML.firstChild.attributes.height;
      _root.mySpeed = myShowXML.firstChild.attributes.speed;

      _root.myImages = myShowXML.firstChild.childNodes;
      _root.myImagesNo = myImages.length;

      createContainer();
      callImages();

      };

      function createContainer() {
      _root.createEmptyMovieClip("myContainer_mc",1);
      myContainer_mc.lineTo(_root.myWidth,0);
      myContainer_mc.lineTo(_root.myWidth,_root.myHeight);
      myContainer_mc.lineTo(0,_root.myHeight);
      myContainer_mc.lineTo(0,0);

      myContainer_mc._x = (Stage.width-myContainer_mc._width);
      myContainer_mc._y = (Stage.height-myContainer_mc._height);

      }

      function callImages() {

      _root.myMCL = new MovieClipLoader();
      _root.myPreloader = new Object();
      _root.myMCL.addListener(_root.myPreloader);

      _root.myClips_array = [];

      _root.myPreloader.onLoadStart = function(target) {

      _root.createTextField("myText_txt",_root.getNextHighestDepth(),0,0,100,20);
      _root.myText_txt._x = (Stage.width-_root.myText_txt._width)/2;
      _root.myText_txt._y = (Stage.height-_root.myText_txt._height)/2;
      _root.myText_txt.autoSize = "center";

      _root.myText_txt.text = "test";

      };

      _root.myPreloader.onLoadProgress = function(target) {

      _root.myText_txt.text = "Loading.. "+_root.myClips_array.length+"/"+_root.myImagesNo+" Completed";

      };


      _root.myPreloader.onLoadComplete = function(target) {

      _root.myClips_array.push(target);
      target._alpha = 0;

      if (_root.myClips_array.length == _root.myImagesNo) {

      _root.myText_txt._y = myContainer_mc._y + myContainer_mc._height;
      _root.target_mc = -1;
      moveSlide();
      myShowInt = setInterval(moveSlide, (_root.mySpeed*1000)+1000);


      }

      };

      for (i=0; i<_root.myImagesNo; i++) {

      temp_url = _root.myImages .attributes.url;
      temp_mc = myContainer_mc.createEmptyMovieClip(i, myContainer_mc.getNextHighestDepth());
      _root.myMCL.loadClip(temp_url,temp_mc);
      _root.myContainer_mc.Link = _root.myImages
      .attributes.link;
      _root.myContainer_mc.onRelease = function() {
      getURL(this.Link);
      }
      }

      }


      function moveSlide() {

      current_mc = _root.myClips_array[_root.target_mc];
      new Tween(current_mc, "_alpha", Strong.easeOut, 100, 0, 1, true);

      _root.target_mc++;

      if (_root.target_mc>=_root.myImagesNo) {
      _root.target_mc = 0;
      }

      next_mc = _root.myClips_array[_root.target_mc];
      new Tween(next_mc, "_alpha", Strong.easeOut, 0, 100, 1, true);

      }
      //-----------------------------------------

      The XML can be viewed at http://www.fluidstudioswms.com/gftc/cfpromoexport.xml

      Any ideas would be greatly appreciated.