好的,這是我目前正在嘗試做的。我有一個名爲vdata.as的類,它需要2個參數都是從主階段發送的字符串。參數一是我需要打開並閱讀的XML文件的位置。第二個參數是我目前正在查找的視頻的名稱。AS3驅使我堅果
現在,我可以從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][email protected] == pXmlVidSrc)
{
videoData.elementArray.push(m.videos.videoname[i][email protected]);
videoData.elementArray.push(m.videos.videoname[i][email protected]);
videoData.elementArray.push(m.videos.videoname[i][email protected]);
}
}
}
}
當我把它從主級的代碼如下。
var xData:videoData = new videoData(xmlPath,vidSrc,this); xData.getXML();
然後,當我嘗試訪問videoData.elementArray的任何元素時,他們會發現undefined ... 我只是在我的桌子上砸我的頭,試圖找出任何幫助將是偉大的。
謝謝。抱歉是一種痛苦,但是我可以通過「添加一個布爾值來表示舞臺狀態」來獲得一個例子嗎?我想我有一個想法,但只是想確認一下。沒有elementArray不需要是真的我只是從中刪除靜態。 – 2Alpha 2009-08-14 21:09:49
非常感謝你的讚賞。 – 2Alpha 2009-08-14 22:18:12
是否做到了這一點? – McAden 2009-08-15 07:43:48