ここで私が現在取り組んでいることはここです。私はvdata.asというクラスを持っています。クラスは2つのパラメタを取ります。どちらもメインステージから送られた文字列です。パラメータ1は、開く必要があるXMLファイルの場所です。 2番目のパラメータは、現在私が探しているビデオの名前です。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]);
}
}
}
}
Iは次のようにコードはメインステージからそれを呼び出すとき。
var xData:videoData = new videoData(xmlPath、vidSrc、this); xData.getXML();
次に、videoData.elementArrayの要素にアクセスしようとすると、定義されていません。 私の机の上に私の頭が叩かれて、これを理解しようとすると助けになります。
ありがとうございます。申し訳ありませんが、私はあなたが「ステージのためにブール値を追加する」という意味の例を得ることができます。アイデアはあると思いますが、確かにしたいと思います。 elementArrayはtrueである必要はありません。私はそれから静的を削除しました。 – 2Alpha
大変感謝しています。 – 2Alpha
それはトリックですか? – McAden