HTML5 / Canvasゲームエンジンを開発していますが、行き詰まっています。エンジンはタイルセットを介してマップを描画し、次のようなXMLドキュメントからマップデータを読み取ります。
<map>
<layer id="-1">
<row>0,0,0</row>
<row>1,1,1</row>
<row>0,0,0</row>
</layer>
<layer id="1">
<row>0,0,0</row>
<row>1,1,1</row>
<row>0,0,0</row>
</layer>
</map>
そして、2次元配列にデータをロードするJavaScript:
var layers = xml.getElementsByTagName("layer");
for(var i in layers)
{
var rows = layers[i].childNodes;
for(var j in rows)
{
array[i][j] = rows[j].nodeValue;
}
}
問題:返されるデータは、「null」、「」、および「undefined」の単なるミッシュマッシュです。また、配列は必要以上に小さいようです。すべての値を調べる前に、ノードの数(length属性を使用)をチェックし、常に実際のノードの数よりも多いためです。