여기에 제가 현재하려고하는 것이 있습니다. 나는 두 개의 매개 변수를 취하는 vdata.as라는 클래스를 가지고 있습니다. 둘 다 주 단계에서 전송 된 문자열입니다. 매개 변수 1은 열고 읽어야하는 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의 요소에 액세스하려고하면 정의되지 않은 정보가 나타납니다. 내 책상에서 내 머리를 때려 눕히면 어떤 도움이 될지 알 수 없습니다.
감사합니다. 미안하지만 고통이 되겠지만 "무대에 진상을 알리기 위해 부울을 추가하십시오"라는 말의 의미를 알 수있을 것입니다. 생각이 있지만 확실하게하고 싶습니다. 그리고 elementArray는 사실 일 필요가 없습니다. 나는 정적을 제거했습니다. – 2Alpha
크게 감사드립니다. – 2Alpha
그 트릭을 한거야? – McAden