xPath + movieClipLoader = fehler

Denniz

Erfahrenes Mitglied
Hi Leute,

ich lese per xpath meine XML aus, die Bildinformationen werden dann in einem Array abgelegt.
Über die moviecliploader klasse will ich nun die Bilder in meinem MC laden.
Das funktioniert aber irgendwie nicht.
Wenn ich es dagegen mit loadMovie mache dann funtioniert das einwandfrei.
Das Bild wird in dem MC geladen.
Hier meine relevanten skriptteile:

Code:
var images:Array = new Array();
var _cur = 0;
var new_mc = this.createEmptyMovieClip("new_mc", 10);
var oL:Object = new Object();
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(oL);
oL.onLoadInit = function(myContainer) {
	trace("ok");                                      //Es kommt nichts an
	new_mc._alpha = 0;
	duplicate();
};
//
function loadClip(clip) {
	trace(images);                                  //wird korrekt getraced
	mcl.loadClip(images[clip], new_mc);  // funktioniert nicht
	new_mc.loadMovie(images[clip]);        //damit geht's, warum?
}
//
var oXML = new XML();
oXML.ignoreWhite = true;
oXML.load("bilder/images.xml");
oXML.onLoad = function(ok) {
	if (ok) {
		images = com.xfactorstudio.xml.xpath.XPath.selectNodes(this.firstChild, "//img/@path");
		loadClip(_cur);
		_cur++;
	}
	else {
		trace("ERROR LOADING XML");
	}
};

Warum klappt das über movieClipLoader nicht?

Gruß

EDIT:Ich habe es jetzt mal auf dem normalen weg versucht die xml auszulesen:
Code:
oXML.onLoad = function() {
	var anzahl = oXML.firstChild.childNodes.length;
	for (var i = 0; i<anzahl; i++) {
		images[i] = oXML.firstChild.childNodes[i].attributes.path;
	}
	loadClip(_cur);
	_cur++;
};
Damit funktioniert es auch mit dem movieClipLoader.
In dem Array images werden die Bildpfade gespeichert, aber dies passiert auch wenn ich es mit xpath mache. :(

Hängt das mit dem scoping zusammen das es mit xpath nicht funktioniert?
Hat jemand eine Idee?
 
Zuletzt bearbeitet:
Hi,

was genau steht denn im Array "images"? Sind die Einträge wirklich vom Typ String und handelt es sich um ein Array mit numerischen Indizes?

Gruß
.
 
Hi,

du hast mich auf die richtige Spur gebracht, hab es mittels trace(typeof (images[0])); untersucht und die elemente im array waren vom typ object.
Kann ja dann so auch nicht funktionieren.

Hab jetzt folgendes herausgefunden:
Wenn man xpath klasse von xfactorstudios benutzt muß man statt
Code:
com.xfactorstudio.xml.xpath.XPath.selectNodes
Code:
com.xfactorstudio.xml.xpath.XPath.selectNodesAsString
schreiben damit es dann ein string ist.

Naja loadMovie stört sich daran anscheinend nicht, mcl schon. ;-)

Danke und Gruß
 
Zuletzt bearbeitet:
Zurück