3 Replies Latest reply on Feb 10, 2007 2:34 PM by Dani Szwarc

    Links from XML

    Dani Szwarc Level 1
      Hello everybody. I'm working with a XML driven photo gallery that looks like this:

      <gallery name="Birthday">
      <image source="pics/pic5.jpg" thumb="pics/th5.jpg" title="Agreement"/>
      <image source="pics/pic6.jpg" thumb="pics/th6.jpg" title="Landscape"/>
      <image source="pics/pic7.jpg" thumb="pics/th7.jpg" title="Face"/>
      <image source="pics/pic8.jpg" thumb="pics/th8.jpg" title="Sunset"/>
      <image source="pics/pic9.jpg" thumb="pics/th9.jpg" title="My Girlfriend"/>
      </gallery>

      Now, I would need the title to become a link. Could anybody help me please?

      Thanks so much

      dani
        • 1. Links from XML
          sly one Level 1
          A link to what? Where is the link data coming from? You will have to add another attribute in your image tags. And you haven't shown your ActionScript, so it's hard to know exactly how you are dealing with the XML.
          • 2. Re: Links from XML
            Dani Szwarc Level 1
            I apologize. Lets say that the photo gallery is the portfolio of my site. So I would like people to be able to click on the name to go to that website, or somewhere else.
            • 3. Re: Links from XML
              Dani Szwarc Level 1
              Here is the actionscript:

              var tnNr;
              spacing = 10;
              container._alpha = 0;
              var curLength;
              MovieClip.prototype.loadPic = function(pic, id) {
              info.text = "";
              this._alpha = 0;
              this.loadMovie(pic);
              temp = this._parent.createEmptyMovieClip("temp2", 998);
              temp.onEnterFrame = function() {
              var t = container.getBytesTotal(), l = container.getBytesLoaded();
              if (Math.round(l/t) == 1 && container._width != 0 && container._height != 0) {
              var w = container._width+spacing, h = container._height+spacing;
              border.resizeMe(w, h, id);
              delete this.onEnterFrame;
              }
              };
              };
              MovieClip.prototype.resizeMe = function(w, h, id) {
              var speed = 3;
              container._alpha = 0;
              this.onEnterFrame = function() {
              this._width += (w-this._width)/speed;
              this._height += (h-this._height)/speed;
              if (Math.abs(this._width-w)<1 && Math.abs(this._height-h)<1) {
              this._width = w;
              this._height = h;
              container._x = this._x-this._width/2+spacing/2;
              container._y = this._y-this._height/2+spacing/2;
              info._y = Math.round(this._y+this._height/2+spacing/2);
              container._alpha += 5;
              if (container._alpha>90) {
              info.text = id;
              container._alpha = 100;
              delete this.onEnterFrame;
              }
              }
              };
              };
              function galleryChoice(q) {
              pArray = new Array();
              tArray = new Array();
              iArray = new Array();
              my_xml = new XML();
              for (var j = 0; j<curLength; j++) {
              this.th_nav["thmb"+j].removeMovieClip();
              }
              my_xml.ignoreWhite = true;
              my_xml.onLoad = function(loaded) {
              if (loaded) {
              gallery = this.firstChild.childNodes
              quote:

              ;
              curLength = gallery.childNodes.length;
              for (var i = 0; i<gallery.childNodes.length; i++) {
              pArray.push(gallery.childNodes .attributes.source);
              tArray.push(gallery.childNodes
              .attributes.thumb);
              iArray.push(gallery.childNodes .attributes.title);
              }
              }
              delay = setInterval(makeButtons, 50);
              };
              my_xml.load("gallery.xml");
              }
              function makeButtons() {
              tnNr = 0;
              clearInterval(delay);
              for (var i = 0; i<tArray.length; i++) {
              var thb = th_nav.thmb.duplicateMovieClip("thmb"+i, 1000+i);
              thb.id = i;
              thb._x = i%2*50;
              thb._y = Math.floor(i/2)*50;
              }
              loadButtons();
              }
              function loadButtons() {
              var tbox = th_nav["thmb"+tnNr].box;
              tbox.loadMovie(tArray[tnNr]);
              temp = this.createEmptyMovieClip("tmp"+tnNr, 999);
              temp.onEnterFrame = function() {
              bt = tbox.getBytesTotal();
              bl = tbox.getBytesLoaded();
              if (bt == bl && bt>4) {
              nextButton();
              delete this.onEnterFrame;
              }
              };
              }
              function nextButton() {
              if (tnNr<tArray.length-1) {
              tnNr++;
              loadButtons();
              } else {
              activateButtons();
              }
              }
              function activateButtons() {
              mainButtons();
              for (var i = 0; i<pArray.length; i++) {
              var but = th_nav["thmb"+i];
              but.id = i;
              but.onRelease = function() {
              container.loadPic(pArray[this.id], iArray[this.id]);
              disButtons2(this.id);
              };
              }
              container.loadPic(pArray[0], iArray[0]);
              disButtons2(0);
              }
              butArray = new Array();
              butArray = ["gal1_btn", "gal2_btn", "gal3_btn", "gal4_btn"];
              function mainButtons() {
              for (var i = 0; i<butArray.length; i++) {
              this[butArray
              ].id = i;
              this[butArray ].onRelease = function() {
              galleryChoice(this.id);
              disButtons(this.id);
              };
              }
              }
              function disButtons2(d) {
              for (var i = 0; i<tArray.length; i++) {
              if (i != d) {
              this.th_nav["thmb"+i].enabled = 1;
              this.th_nav["thmb"+i].box._alpha = 100;
              } else {
              this.th_nav["thmb"+i].enabled = 0;
              this.th_nav["thmb"+i].box._alpha = 50;
              }
              }
              }
              function disButtons(d) {
              for (var i = 0; i<butArray.length; i++) {
              if (i != d) {
              this[butArray
              ].enabled = 1;
              this[butArray ].gotoAndStop(1);
              } else {
              this[butArray
              ].enabled = 0;
              this[butArray ].gotoAndStop(2);
              }
              }
              }
              disButtons(0);
              galleryChoice(0);