Ok hier ist, was ich gerade versuche zu tun. Ich habe eine Klasse namens vdata.as, die 2 Paramater benötigt. Beide sind Strings, die von der Hauptbühne gesendet werden. Parameter 1 ist der Speicherort für eine XML-Datei, die ich öffnen und lesen muss. Der zweite Parameter ist der Name des Videos, nach dem ich gerade suche.AS3 macht mich verrückt
Jetzt kann ich die Daten aus der XML-Datei abrufen und ohne irgendein Problem anzeigen, wenn es von meiner Klasse aufgerufen wird, aber wenn ich versuche, von der Stufe auf es zuzugreifen, werde ich undefiniert.
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]);
}
}
}
}
Wenn ich es von der Hauptbühne nennen, ist der Code wie folgt.
var xData: videoData = neues videoData (xmlPath, vidSrc, this); xData.getXML();
dann, wenn ich versuche, auf alle Elemente von videoData.elementArray zugreifen sie kommen undefined ... Im nur schmatzend mein Kopf auf meinem Schreibtisch versuchen, das herauszufinden, jede Hilfe wäre toll.
Danke. Es tut mir leid, ein Schmerz zu sein, aber könnte ich ein Beispiel dafür bekommen, was du meinst, indem du einen booleschen Wert für die Bühne hinzufügst. Ich denke, ich habe eine Idee, aber ich will nur sichergehen. Und kein elementArray muss nicht wahr sein. Ich habe nur die statische entfernt. – 2Alpha
danke sehr geschätzt. – 2Alpha
hat das den Trick gemacht? – McAden