我正在编写一个使用xml文件作为地图,玩家等的起始值的游戏。 我想要一个从xml文件初始化游戏的简单方法。 我的xml是:
<save>
<player>
<name> "martin" </name>
<coins> 100 </coins>
<hp> 15 </hp>
</player>
<map>
<height> 5 </height>
<width> 5 </width>
</map>
</save>
我希望javascript代码输出(到我的游戏文件的顶部)
var player = {
name:"martin";
coins:100;
hp:15;
}
var map = [[[],[],[],[],[]],
[[],[],[],[],[]],
[[],[],[],[],[]],
[[],[],[],[],[]],
[[],[],[],[],[]] // although not formatted this way
所以我基本上想要将数据从xml加载到对象和数组中。 然后我可以做一些事情,比如使用javascript的内置函数更改播放器的hp。 谢谢, 马丁
答案 0 :(得分:1)
使用JSON执行此操作要容易得多。您可以使用AJAX加载JSON文件并设置值;这是一个例子。
JavaScript文件(例如script.js
):
var player = {
name: "martin",
coins: 100,
hp: 15
}
var map =
[[[], [], [], [], []],
[[], [], [], [], []],
[[], [], [], [], []],
[[], [], [], [], []],
[[], [], [], [], []]];
var request = new XMLHttpRequest();
request.onstatechange = function () {
var data;
if (request.readyState === 4 && request.status === 200) {
data = JSON.parse(request.responseText);
player = data.player;
map = data.map;
}
}
request.open("GET", "data.json");
request.send();
JSON数据(例如data.json
):
{
"player": {
"name": "martin",
"coins": 100,
"hp": 15
},
"map":
[[[], [], [], [], []],
[[], [], [], [], []],
[[], [], [], [], []],
[[], [], [], [], []],
[[], [], [], [], []]]
}
为此,您需要在服务器上运行代码,如果您在本地开发,可以使用Python执行代码:
$ cd path/to/directory
$ python3 -m http.server
然后只需在网络浏览器中打开IP地址(使用正确的端口)。