3 Replies Latest reply on May 12, 2010 12:33 PM by kglad

    How do I get my XML numeric values to show up when loaded into flash?

    mixmastermichael Level 1

      Hi there,

       

      I've created an AS2 3D carousel  It loads text values in the "content" section of the code below -  including numbers and special characters into the .swf but...

       

      What I can't figure out, is how to get it so that the "Tooltip" loads the text into the movieclip, but can also have numeric and special characters in it.

       

      For example, I need the title of one of the icons on this carousel to be "3D Images," but only the "D Images" shows up from the XML text for the tooltip.  The content when a user clicks on the icon can include numbers, just not the titles for some reason.

       

      http://iongeo.com/collaboration_test_dev/video_arctic_imaging.html

       

      I think it has something to do with the way that my text is loaded from the xml document specifically for the tooltip and tipText for the movie clip.  Can numeric values be loaded into a movie clip in AS2?  PLEASE HELP!

       

      import mx.utils.Delegate;
      import mx.transitions.Tween;
      import mx.transitions.easing.*;

       

      var numOfItems:Number;
      var radiusX:Number = 300;
      var radiusY:Number = 75;
      var centerX:Number = Stage.width / 2;
      var centerY:Number = Stage.height / 2;
      var speed:Number = 0.05;
      var perspective:Number = 130;
      var home:MovieClip = this;
      theText._alpha = 0;
      theHeader._alpha = 0;

       

      var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
      tooltip._alpha = 0;

       

      var xml:XML = new XML();
      xml.ignoreWhite = true;

       

      xml.onLoad = function()
      {
          var nodes = this.firstChild.childNodes;
          numOfItems = nodes.length;
          for(var i=0;i<numOfItems;i++)
          {
              var t = home.attachMovie("item","item"+i,i+1);
              t.angle = i * ((Math.PI*2)/numOfItems);
              t.onEnterFrame = mover;
              t.toolText = nodes[i].attributes.tooltip;
              t.content = nodes[i].attributes.content;
              t.header = nodes[i].attributes.header;
              t.icon.inner.loadMovie(nodes[i].attributes.image);
              t.r.inner.loadMovie(nodes[i].attributes.image);
              t.icon.onRollOver = over;
              t.icon.onRollOut = out;
              t.icon.onRelease = released;
          }
      }

       

      function over()
      {
          //BONUS Section
          home.tooltip.tipText.text = this._parent.toolText;
          home.tooltip._x = this._parent._x;
          home.tooltip._y = this._parent._y - this._parent._height/2;
          home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
          home.tooltip._alpha = 100;
      }

       

      function out()
      {
          delete home.tooltip.onEnterFrame;
          home.tooltip._alpha = 0;
      }

       

      function released()
      {
          //BONUS Section
          home.tooltip._alpha = 100;
          for(var i=0;i<numOfItems;i++)
          {
              var t:MovieClip = home["item"+i];
              t.xPos = t._x;
              t.yPos = t._y;
              t.theScale = t._xscale;
              delete t.icon.onRollOver;
              delete t.icon.onRollOut;
              delete t.icon.onRelease;
              delete t.onEnterFrame;
              if(t != this._parent)
              {
                  var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
                  var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
                  var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
              }
              else
              {
                  var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,100,1,true);
                  var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,100,1,true);
                  var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,150,1,true);
                  var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,250,1,true);
                  var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);
                  var tw5:Tween = new Tween(theHeader,"_alpha",Strong.easeOut,0,100,1,true);
                  theText.text = t.content;
                  theHeader.header = t.header;
                  var s:Object = this;
                  tw.onMotionStopped = function()
                  {
                      s.onRelease = unReleased;
                  }
              }
          }
      }

       

      function unReleased()
      {
          //BONUS Section
          var sou:Sound = new Sound();
          sou.attachSound("sdown");
          sou.start();
         
          delete this.onRelease;
          var tw:Tween = new Tween(theText,"_alpha",Strong.easeOut,100,0,0.5,true);
          var tw:Tween = new Tween(theHeader,"_alpha",Strong.easeOut,100,0,0.5,true);
          for(var i=0;i<numOfItems;i++)
          {
              var t:MovieClip = home["item"+i];
              if(t != this._parent)
              {
                  var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,0,t.theScale,1,true);
                  var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,0,t.theScale,1,true);
                  var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,0,100,1,true);
              }
              else
              {
                  var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,100,t.theScale,1,true);
                  var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,100,t.theScale,1,true);
                  var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,t.xPos,1,true);
                  var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,t.yPos,1,true);
                  tw.onMotionStopped = function()
                  {
                      for(var i=0;i<numOfItems;i++)
                      {
                          var t:MovieClip = home["item"+i];
                          t.icon.onRollOver = Delegate.create(t.icon,over);
                          t.icon.onRollOut = Delegate.create(t.icon,out);
                          t.icon.onRelease = Delegate.create(t.icon,released);
                          t.onEnterFrame = mover;
                      }
                  }
              }
          }
      }

       


      function moveTip()
      {
          home.tooltip._x = this._parent._x;
          home.tooltip._y = this._parent._y - this._parent._height/2;
      }

       

      xml.load("icons.xml");

       

      function mover()
      {
          this._x = Math.cos(this.angle) * radiusX + centerX;
          this._y = Math.sin(this.angle) * radiusY + centerY;
          var s = (this._y - perspective) /(centerY+radiusY-perspective);
          this._xscale = this._yscale = s*100;
          this.angle += this._parent.speed;
          this.swapDepths(Math.round(this._xscale) + 100);
      }

       

      this.onMouseMove = function()
      {
          speed = (this._xmouse-centerX)/8000;
      }