[AS3] Wieso kann ich auf dieses Array nicht zugreifen

Pestilence

Mitglied
Hallo an alle,
habe hier ne kleine Verständnisfrage.

Wieso kann ich auf das Array "_imagearray" aus meiner eigenen Klasse nicht zugreifen? Innerhalb der Klasse kann ich alles wunderbar "tracen" nur wenn ich es im Flashprojekt instanziere bekomme ich ein leeres Array?!

Hier mal der Source:

Hier die Foldergallery Klasse (dient erstmal nur um aus einem XML ein Array zu formen)
PHP:
package src
{
	import flash.events.Event;
	import flash.events.EventPhase;
	import flash.display.MovieClip;
	import flash.display.Loader;
	import flash.net.URLRequest;
	import flash.net.URLLoader;
	import flash.events.IOErrorEvent;
	import flash.events.HTTPStatusEvent;
	import flash.events.ProgressEvent;

	public class foldergallery extends MovieClip
	{
		public var myXML:XML;
		public var myXMLLoader:URLLoader = new URLLoader();
		public var myXMLLoader_upd:URLLoader = new URLLoader();
		
		public var _imagelist:Array = new Array();
		
		public function foldergallery()
		{
			this.getXML();
		}
		
		public function getXML() : void
		{
			//myXMLLoader_upd.load(new URLRequest("http://www.nintz.de/eve/img/foldergallery.php"));
			myXMLLoader.load(new URLRequest("http://www.nintz.de/eve/img/foldergallery.php"));
			myXMLLoader.addEventListener(Event.COMPLETE, processXML);
		}
		
		public function processXML (e:Event) : void
		{
			myXML = new XML(e.target.data);
			var j:uint = 0;
			
			for each ( var element:XML in myXML.elements () )
			{
				var value1 : String = element.@name;
				var value2 : String = element.@width;
				var value3 : String = element.@height;
				var value4 : String = element.@size;
				
				if(j===0)
					var imageDetails1:Array = new Array(element.@imagecount, element.@url, element.@path);
				else
					var imageDetails2:Array = new Array(value1,value2,value3,value4);
				
				if(value1 != "" || value1 != null)
				{
					if(j===0)
						_imagelist.push(imageDetails1);
					else
						_imagelist.push(imageDetails2);
						
					j++;
				}
			}
			trace(_imagelist);
		}
	}
}

Und so sieht es im Projekt aus, wenn ich die Klasse Instanziere und das Array tracen möchte ist es leer?!
PHP:
import src.*

var fg:foldergallery = new foldergallery();

trace(fg._imagelist);

Ich hoffe ihr könnt mir helfen, befasse mich noch nicht so lang mit AS3.

Gruß,
Pestilence
 
Hier ein Lösungsansatz:
Richte eine funktion ein, die dir das Array imagelist zurückgibt...
Beispiel:
Code:
private var txt:String = new String();
public static function images():String{
      for (var i:int; i<_imagelist.length; i++){
            txt = txt + _imagelist[i];
      }
      return txt;
}
 
Vielen Dank, werde ich gleich mal ausprobieren, ist das aber normal das man Array's nicht zurück geben kann?

Werde mich melden wie das ganze ausging :)
 

Neue Beiträge

Zurück