Problem mit Klasse

SCIPIO-AEMILIANUS

aka Dubdidadu
Ich hab hier ein Problem, dass ich bisher noch nie hatte mit folgendem Code:
Code:
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, loadXML);
loader.load(new URLRequest("pupils.xml")); 
var hold:Sprite=new Sprite();
stage.addChild(hold);
function loadXML(e:Event):void {
    var xml:XML = new XML(e.target.data);
    trace(xml.groups.(@id=="5a").pupil.@firstName);
    
    var  pupilList:XMLList  = xml.groups.(@id=="5a").pupil;
    var i,u:int=0;
    var img:Thumb;
    for each (var pupil:XML in pupilList) {
        trace(pupil.@src);
        img=new Thumb(pupil.@src+".jpg");
        hold.addChild(img);
        img.y=25+i*325;
        img.x=25+u*325;
        u++;
        if(u==3){
            i++;
            u=0;
        }
    }
}


//FOLGENDES GEHT, VORHERIGES NICHT
var m:Thumb=new Thumb("img1.jpg");
hold.addChild(m);

Der Obere Teil gibt die korrekten Werte via trace() aus. Aber es erscheinen keine Bilder.(Am Pfad liegt es nicht, da pupil.@src immger gleich "img1" ist). Die letzten beiden Zeilen tun was sie sollen. Wo liegt hier der Fehler?
 
Hi,

ist nun nur eine Vermutung, aber versuch es mal so:
PHP:
for each (var pupil:XML in pupilList) {
        trace(pupil.@src);

        var myPath:String = pupil.@src;

        img=new Thumb(myPath+".jpg");
        hold.addChild(img);
        img.y=25+i*325;
        img.x=25+u*325;
        u++;
        if(u==3){
            i++;
            u=0;
        }
    }

MfG
 
und wenn du mal versuchst, das +".jpg" in die Klasse mit reinzuschreiben ?

und in der Klasse auch als String deklarieren

function Thumb(imgName:String) ....

pathName = imgName+".jpg";

Es muss ja irgendwas mit der übergabe des Strings zu tun haben, wenn Thumb("img1.jpg") geht.


MfG
 
Ne mit dem String hats nichts zu tun.
Da:
Code:
for each (var pupil:XML in pupilList) {
        trace(pupil.@src);
        img=new Thumb("img1.jpg");
        hold.addChild(img);
        img.y=25+i*325;
        img.x=25+u*325;
        u++;
        if(u==3){
            i++;
            u=0;
        }
    }

Auch nicht geht.
 
Achso ich dachte das geht, wegen dem:

//FOLGENDES GEHT, VORHERIGES NICHT
var m:Thumb=new Thumb("img1.jpg");
hold.addChild(m);


dann probier nochmal folgendes:

PHP:
var pupil:XML
for each (pupil in pupilList) {
        trace(pupil.@src);
        img=new Thumb(pupil.@src.toXMLString()+".jpg");
        hold.addChild(img);
        img.y=25+i*325;
        img.x=25+u*325;
        u++;
        if(u==3){
            i++;
            u=0;
        }
    }


MfG
 
Zurück