PDA

View Full Version : Load 2-dimensional arrays from XML into Flash



Blackcat
January 9th, 2008, 04:16 PM
hi
I am programming a tile based rpg, but now i have a big problem :crying:

At the beginning, i had a normal map array in flash

//map1 = [[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],
//[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]];


it works very good (http://www.animeschatten.de/map.htm)
But it isn't dynamic -.-

so i want to save my map arrays in xml files...

like this on:
(Zeile= row, spalte= column, wert = value)

<?xml version='1.0' encoding='utf-8' ?>
<map1>
<zeile r="1">
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
</zeile>
<zeile r="2">
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
<spalte wert="2"/>
</zeile>
.
.
.
// short version :pa:
</map1>


now I have my flash file:

var XMLdaten = new XML();
XMLdaten.ignoreWhite=true;
XMLdaten.load("testxml.xml");

XMLdaten.onLoad = function(success) {
anzahlzeilen = XMLdaten.firstChild.childNodes.length;
anzahlzeilen_r = [];
for (var i=0; i<anzahlzeilen; i++) {
anzahlzeilen_r[i] = XMLdaten.firstChild.childNodes[i].childNodes.length;}
map1 = [];
for (var i=0; i<anzahlzeilen; i++) {
map1[i] =[];
for (var j=0; j<anzahlzeilen_r[i]; j++) {
map1[i][j] = XMLdaten.firstChild.childNodes[i].childNodes[j].attributes.wert;
}}
}

---> the array is empty but why??????

please help me:cantlook:

i'm using Flash CS3 but actionscript 2

Blackcat
January 10th, 2008, 07:47 AM
EDIT: I have sloved the problem