0

Tiled map editorを使用して、次のようにリストされたアイテムを含むXMLファイルを作成しました。

<data>
  <tile gid="1"/>
  <tile gid="2"/>
  <tile gid="2"/>
  <tile gid="1"/>
  <tile gid="1"/>
  <tile gid="3"/>
  <tile gid="3"/>
  <tile gid="1"/>
  <tile gid="2"/>
</data>

これが3x3の地図だったとしましょう。これを次のように配列に解析するにはどうすればよいですか?

[
  [1,2,2],
  [1,1,3],
  [3,1,2],
]

簡単にロードするには?ありがとう!

4

1 に答える 1

0

JavaScript を使用して、次の簡単なスクリプトで配列に変換できます。

var xml = '<data><tile gid="1"/><tile gid="2"/> <tile gid="2"/><tile gid="1"/><tile gid="1"/><tile gid="3"/><tile gid="3"/><tile gid="1"/><tile gid="2"/></data>​​​​​​​​​​​​​​​​​​​​​​​​​​​​';

​var data = new DOMParser().parseFromString(xml, "text/xml").documentElement;

var tileNodes = data.querySelectorAll("tile");
var tiles = [];

for (var i = 0; i < tileNodes.length; i++) {
    var point = [];
    point.push(parseInt(tileNodes[i].getAttribute("gid"), 10));
    point.push(parseInt(tileNodes[++i].getAttribute("gid"), 10));
    point.push(parseInt(tileNodes[++i].getAttribute("gid"), 10));
    tiles.push(point);
}
于 2012-06-30T17:15:06.850 に答える