A Flash Developer Resource Site

Results 1 to 2 of 2

Thread: XML + AS headache

  1. #1
    Registered User
    Join Date
    May 2008
    Posts
    0

    XML + AS headache

    Basically I found a pretty basic flash photo gallery. I'm new to XML, Flash, and Actionscripts so I wasn't really sure what I was doing. The template didn't come with a caption for the pictures so I added a dynamic text box and attempted to use AS. Basically I was trying to make it when you moused over the picture the caption appeared with the text from the XML files. All I can get to come up is undefined. Here is my AS script, what I added is in red so the problem is probably around it.

    Code:
    photo_thumbnail = new Array();
    photo_url = new Array();
    photo_caption = new Array();
    
    filepath = "photos/";
    
    var flash_xml = new XML();
    flash_xml.ignoreWhite = true;
    flash_xml.onLoad = function()
    {
    var node:Array = this.firstChild.childNodes;
    for(var i=0;i<nodes.length;i++)
    {
    photo_thumbnail.push(nodes[i].attributes.thumbnail);
    photo_url.push(nodes[i].attributes.url);
    photo_caption.push(nodes[i].attributes.caption);
    }
    }
    flash_xml.load(filepath + "flash_thumbnails.xml"
    Also
    Code:
    x_middle = Stage.width/2;
    y_middle = Stage.height/2;
    tn_group.tn._visible = false;
    tn_group.setMask( tn_area );
    tn_alpha_default = 100;
    tn_spacing = 6;
    p = 0;
    info = "";
    desc = "";
    
    for( var i = 0; i < photo_thumbnail.length; i++ )
    {
     tn_group.tn.duplicateMovieClip("tn"+i, i);
     
     tn_group["tn"+i].tn_pic.loadMovie( filepath + photo_thumbnail[i] );
     tn_group["tn"+i].tn_pic2.loadMovie( filepath + photo_thumbnail[i] );
     tn_group["tn"+i]._x = i * (tn_group.tn._width + tn_spacing);
     tn_group["tn"+i]._y = tn._y;
     tn_group["tn"+i].tn_pic._alpha = tn_alpha_default;
     tn_group["tn"+i].tn_no = i;
     
     tn_group["tn"+i].tn_button.onRollOver = function()
     {
      this._parent.tn_pic._alpha = 70;
      _root.info =  photo_url[this._parent.tn_no];
      _root.desc =  photo_caption[this._parent.tn.no];
     }
     tn_group["tn"+i].tn_button.onRollOut = function()
     {
      this._parent.tn_pic._alpha = tn_alpha_default;
      _root.info = "";
      _root.desc = "";
     }
     tn_group["tn"+i].tn_button.onRelease = function()
     {
      getURL( photo_url[this._parent.tn_no] );
     }
    }
    onEnterFrame = function()
    {
     if( _ymouse > tn_group._y - 30 and _ymouse < tn_group._y + tn_group._height )
     {
      x_speed = -(_xmouse - x_middle ) / 50;
      if( _xmouse > x_middle + 200 )
      {
       if( tn_group._x + tn_group.tn._width > tn_area._width - tn_group._width + tn_area._x )
        tn_group._x+=x_speed;
      }
      else if( _xmouse < x_middle - 200 )
      {
       if( tn_group._x - tn_group.tn._width < tn_area._x )
        tn_group._x+=x_speed;
      }
     }
    }
    Finally the XML
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <photos>
    	<photo thumbnail="flashmo_028_design.jpg" url="http://www.google.com" caption="insert caption" />
    	<photo thumbnail="flashmo_029_design.jpg" url="http://www.google.com" caption="insert caption" />
    	<photo thumbnail="flashmo_030_design.jpg" url="http://www.google.com" caption="insert caption" />
    	
    	<photo thumbnail="flashmo_031_mask_effect.jpg" url="http://www.google.com" caption="insert caption" />
    	<photo thumbnail="flashmo_032_mask_effect.jpg" url="http://www.google.com" caption="insert caption" />
    	<photo thumbnail="flashmo_033_design.jpg" url="http://www.google.com" caption="insert caption" />
    	
    	<photo thumbnail="flashmo_034_photo_gallery.jpg" url="http://www.google.com" caption="insert caption" />
    	<photo thumbnail="flashmo_035_color_effect.jpg" url="http://www.google.com" caption="insert caption" />
    	<photo thumbnail="flashmo_036_skyblue.jpg" url="http://www.google.com" caption="insert caption" />
    	<photo thumbnail="flashmo_037_wooden.jpg" url="http://www.google.com" caption="insert caption" />
    </photos>
    Any ideas why it is coming up with Undefined when I mouseover a picture?

  2. #2
    FK'n_dog a_modified_dog's Avatar
    Join Date
    Apr 2003
    Location
    "aaarf"
    Posts
    9,176
    you define var node:Array
    yet you are trying to push arrays with - nodes[i]

    node and nodes are different

    is this a typo ?
    or the cause of your problems ?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center