我使用Tiled地图编辑器制作一个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],
]
加载它更容易?谢谢!
答案 0 :(得分: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);
}