繁体   English   中英

如何加载XML格式的地图?

[英]How can I load a map in XML format?

我使用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],
]

加载起来更容易? 谢谢!

您可以使用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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM