【发布时间】:2010-11-19 18:43:14
【问题描述】:
好的,这就是我目前正在尝试做的事情。我有一个名为 vdata.as 的类,它需要 2 个参数,它们都是从主阶段发送的字符串。参数一是我需要打开和读取的 XML 文件的位置。第二个参数是我当前正在查找的视频的名称。
现在我可以从 XML 文件中获取数据并在没有任何问题的情况下显示它,如果它是从我的类中调用的,但是当我尝试从阶段访问它时,我得到了未定义。
import flash.net.*;
import flash.display.*;
import flash.events.*;
public class videoData
{
private var mName:String;
private var mLink:String;
private var mCategory:String;
public static var elementArray:Array;
// Constructor
public function videoData(xmlPath:String,xmlVidSrc:String,pMC:MovieClip)
{
pXmlPath = xmlPath;
pXmlVidSrc = xmlVidSrc;
xmlloader = new URLLoader();
elementArray = new Array();
}
public function getXML()
{
XMLData();
}
private function XMLData()
{
xmlloader.load(new URLRequest(pXmlPath));
xmlloader.addEventListener(Event.COMPLETE,parseXMLData);
}
private function parseXMLData():void
{
var x:XML = new XML(xmlloader.data);
Init(x);
}
private function Init(m:XML):*
{
var i:Number;
for(i=0; i<m.videos.videoname.length(); i++)
{
if(m.videos.videoname[i].@name == pXmlVidSrc)
{
videoData.elementArray.push(m.videos.videoname[i].@name);
videoData.elementArray.push(m.videos.videoname[i].@category);
videoData.elementArray.push(m.videos.videoname[i].link.@url);
}
}
}
}
当我从主阶段调用它时,代码如下。
var xData:videoData = new videoData(xmlPath,vidSrc,this); xData.getXML();
然后,当我尝试访问 videoData.elementArray 的任何元素时,它们出现未定义... 我只是在我的桌子上敲我的头,试图弄清楚这一点,任何帮助都会很棒。
【问题讨论】:
标签: actionscript-3 arrays class object return