Flash xml daten lesen und ausgeben

Status
Nicht offen für weitere Antworten.

kcyberbob

Erfahrenes Mitglied
Hi,

ich hab eine flash datei mit folgendem inhalt in Bild 1.
Falsh Datei
PHP:
stop();  

var XMLdaten = new XML();  
XMLdaten.ignoreWhite=true;  
XMLdaten.load("test.xml");  
XMLdaten.onLoad = function(success) {  
    if(success){ 
        anzahl = XMLdaten.firstChild.childNodes.length; //liest die anzahl der elemente aus!  
        
		mname = []; //neues array  
        mlevel = []; //neues array  
        mtyp = []; //neues array
		mimage = []; //neues array
		
        for (var i=0; i<anzahl; i++) {  
            mname[i] = XMLdaten.firstChild.childNodes[i].attributes.monstername;//auslesen  
            mlevel[i] = XMLdaten.firstChild.childNodes[i].attributes.monsterlevel;//auslesen  
            mtyp[i] = XMLdaten.firstChild.childNodes[i].attributes.monstertyp;//auslesen  
            mimage[i] = XMLdaten.firstChild.childNodes[i].attributes.mimage;//auslesen  
	   
        } 
    } 
}


XML DATEI:
PHP:
<?xml version="1.0" encoding="utf-8"?>

<felder>
    <feld monstername="Isy" monsterlevel="60" monstertyp="unique" mimage="test/isy.jpg"/>
    <feld monstername="uri" monsterlevel="40" monstertyp="unique" mimage="test/uri.jpg"/>
</felder>

jetzt will ich das was ich aus der xml datei ausgelesen habe ausgeben.
Einmal die Texte und einmal das Bild.

Vielleicht könnt ihr mir helfen ich hab mir viele beiträge durchgelesen komme aber irgendwie nicht dahinter.

Gruß Andy
 
hi,
das scheint soweit alles richtig zu sein.
um die ausgelesenen daten auszugeben, ist es am einfachsten einen leeren MovieClip bzw ein Textfeld zu erstellen den du auf der bühne platzierst.
Diesen gibst du einen Instanznamen.
z.B. für das Bild einen Movieclip mit dem Instanznamen "mc_bild1"
und für den Text "txt_bild1"
jetzt solltest du mittels:
PHP:
_root.mc_bild1.loadMovie(mimage[0]);
_root.txt_bild1.text = mname[0];
die inhalte auf ausgeben lassen...

weiß nicht ob ich das auf die schnelle gut genug erklärt hab.
hab vor einiger zeit mal ein tutorial dazu geschrieben. evtl hilft dir das auch weiter...
 
Also jetzt habe ich eine Ausgabe, doch leider wird nur ein Datensatz angezeigt.
Aber es sollten alle datenzätze ausgelesen und ausgegeben werden solange bis keine mehr kommen.
 
Zuletzt bearbeitet:
also bei mir funktionier es.
hast du auch den movieclip und das textfeld angelegt?

oder magst du alles in actionscript machen?
dann musst du des movieclip und das textfeld per AS erstellen:
PHP:
_root.createEmptyMovieClip("mc_bild1", 1);
_root.mc_bild1.loadMovie(mimage[0]);
		
_root.createTextField("txt_bild1",2,10,10,150,30);
_root.txt_bild1.text = mname[0];
 
Ja hab ich aber was ich meine es wird nur die Zeile mit dem monstername="Isy" ausgegeben.

Ich will ja das beide ausgegeben werden bzw. wenn es mehr sind das mehr ausgegeben werden.
 
Tag.

OK. Du hast ein Textfeld und einen MC, willst darin 2 Datensätze einladen. Das passt nicht wirklich. Wenn es bei 2 Monstern bleibt erstell einfach noch nen Textfeld und noch nen MC und lad den zweiten Datensatz in die. Wenn du irgendwann x Monster hast solltest du dir diese Maske (also MC+Textfeld) dynamisch immer wieder erstellen. Genau das suggeriert mobotter in seinem letzten Beitrag, den Code kannst du dafür übernehmen. Packs einfach in die for-Schleife und änder die generierten MC-Namen noch in abhängigkeit zur Zählvariable ab.

Interessant wird dann aber die Platzierung auf der Bühne wenn man beliebig viele Monster hat. Eventuell willst du das ganze Scrollbar machen.

Liebe Grüße
jens
 
Zuletzt bearbeitet:
sry war as we ned da.
versuchs mal damit.... (falls du's noch nicht geschafft hast).
PHP:
_root.createEmptyMovieClip("mc_bild"+i, i);
_root["mc_bild"+i].loadMovie(mimage[i]);

_root.createTextField("txt_bild"+i,i+20,10,i*20,150,30);
_root["txt_bild"+i].text = mname[i];
 
Hey
achte bitte auch du auf die Nettiquette. Insbesondere auf die Groß- / und Kleinschreibung und normale Worte - sry war as we ned da = "Sorry, war am Wochenende nicht da."

Wieso genau wir hier so sehr Wert darauf legen kannst du in der Nettiquette direkt nachlesen.
Danke
jens
 
Hey
achte bitte auch du auf die Nettiquette. Insbesondere auf die Groß- / und Kleinschreibung und normale Worte - sry war as we ned da = "Sorry, war am Wochenende nicht da."

Wieso genau wir hier so sehr Wert darauf legen kannst du in der Nettiquette direkt nachlesen.
Danke
jens

Oh, werde mich bemühen in Zukunft an die Nettiquette halten - Danke für den Hinweis.
Ich hoffe ich konnte trotz innettiquettem Beitrag helfen ;)
 
Status
Nicht offen für weitere Antworten.
Zurück