0 Replies Latest reply on Nov 14, 2006 7:30 PM by flaki

    XML add title

    flaki
      I found this on intenet and meets my needs, except I want to add Title

      // set random # variables - each must be 0 for first 'while' loop below
      var randomNum = 0;
      var randomNumLast = 0;

      // parent container
      var container_mc = this.createEmptyMovieClip("container",0);
      // movie clip containers
      container_mc.createEmptyMovieClip("loader1_mc",2);
      container_mc.createEmptyMovieClip("loader2_mc",1);


      container_mc.loader1_mc.createTextField("my_txt", 10, 10, 10, 520, 100);

      container_mc.loader1_mcmy_txt.border = true;
      container_mc.loader1_mcmy_txt.multiline = true;
      container_mc.loader1_mcmy_txt.wordWrap = true;
      container_mc.loader1_mcmy_txt.textColor = "0xFFFFFF";

      container_mc.loader2_mc.createTextField("my_txt2", 10, 10, 10, 320, 100);

      container_mc.loader2_mcmy_txt2.border = true;
      container_mc.loader2_mcmy_txt2.multiline = true;
      container_mc.loader2_mcmy_txt2.wordWrap = true;
      container_mc.loader2_mcmy_txt2.textColor = "0xFFFFFF";


      // preload watcher
      this.createEmptyMovieClip("watcher_mc",100);

      // load xml
      images_xml = new XML();
      images_xml.ignoreWhite=true;
      images_xml.onLoad = parse;
      images_xml.load("images.xml");
      trace(images_xml);
      function parse(success) {
      if (success) {



      imageArray = new Array();
      var root = this.firstChild;
      _global.numPause = Number(this.firstChild.attributes.timer * 1000);
      _global.order = this.firstChild.attributes.order;
      _global.looping = this.firstChild.attributes.looping;
      _global.fadetime = Number(this.firstChild.attributes.fadetime);
      _global.xpos = Number(this.firstChild.attributes.xpos);
      _global.ypos = Number(this.firstChild.attributes.ypos);


      var imageNode = root.lastChild;
      var s=0;
      while (imageNode.nodeName != null) {
      imageData = new Object;
      imageData.path = imageNode.attributes.path;
      container_mc.loader1_mc.my_txt.text = imageNode.attributes.title;
      container_mc.loader2_mc.my_txt2.text = imageNode.attributes.title;
      imageArray[s]=imageData;
      imageNode = imageNode.previousSibling;
      s++;

      }
      // place parent container
      container_mc._x = _global.xpos;
      container_mc._y = _global.ypos;
      // parse array
      imageArray.reverse();
      imageGen(imageArray);
      } else {
      trace('problem');
      }
      }

      // depth swapping
      function swapPlace(clip,num) {
      eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
      }

      function loadImages(data,num) {
      if (i==undefined || i == 2) {
      i=2;
      createLoader(i,data,num);
      i=1;
      } else if (i==1) {
      createLoader(i,data,num);
      i=2;
      }
      }
      function createLoader(i,data,num) {
      thisLoader=eval("container_mc.loader"+i+"_mc");
      thisLoader._alpha=0;
      thisLoader.loadMovie(data
      .path);
      watcher_mc.onEnterFrame=function () {
      var picLoaded = thisLoader.getBytesLoaded();
      var picBytes = thisLoader.getBytesTotal();
      if (isNaN(picBytes) || picBytes < 4) {
      return;
      }
      if (picLoaded / picBytes >= 1) {
      swapPlace("container_mc.loader2_mc",1);
      alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
      timerInterval = setInterval(imageGen,_global.numPause,data);
      delete this.onEnterFrame;
      }
      }
      }
      function imageGen(data) {
      // random, or sequential?
      if (_global.order=="random") {
      // choose random # between 0 and total number of images
      while (randomNum == randomNumLast) {
      randomNum = Math.floor(Math.random() * data.length);
      trace(randomNum);
      }
      loadImages(data,randomNum);
      randomNumLast = randomNum;
      } else if (_global.order=="sequential") {
      // start at 0, increment to total number of images, then drop back to zero when done
      if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }
      loadImages(data,p);
      p++;
      } else {
      trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
      }
      clearInterval(timerInterval);
      }
      stop();

      and XML

      <!--
      'timer' :: number of seconds between each image transition
      'order' :: how you want your images displayed. choose either 'sequential' or 'random'
      'looping' :: if the slide show is in sequential mode, this stops the show at the last image (use 'yes' for looping, 'no' for not)
      'fadeTime' :: velocity of image crossfade. Increment for faster fades, decrement for slower. Approximately equal to seconds.
      'xpos' :: _x position of all loaded clips (0 is default)
      'ypos' :: _y position of all loaded clips (0 is default)
      -->
      <gallery timer="5" order="sequential" fadetime="2" looping="yes" xpos="0" ypos="0">
      <image title="title 1" path="images/calliandra.jpg" />
      <image title="title 2" path="images/dombeya.jpg" />
      <image title="title 3" path="images/strelitzia.jpg" />
      <image title="title 4" path="images/trensa.jpg" />
      <image title="title 5" path="images/treeflower.jpg" />
      <image title="title 6" path="images/bellflowers.jpg" />
      </gallery>


      I have try to add title but it fades title with image. Untill image is fade in title fades out and disappear. Help please.