我正在javascript / html5中构建游戏,我正在尝试在迷宫中构建一个锁定门的数据库,可以在整个游戏过程中加载和覆盖。我在网上找到了大量的教程,但没有任何工作。我想知道是否有人可以看看我正在尝试什么,让我知道我做错了什么。
我的JSON文件如下所示:
{
"doors": [
{"left":true, "right":false, "bottom":false},
{"left":false, "right":false, "bottom":false},
{"right":false, "bottom":false, "top":false},
{"left":false, "right":false, "top":false}
]
}
我想构建HTML页面,以便当玩家与门碰撞时,它会检查它是否锁定:
if (player.x < leftDoor.x + leftDoor.width &&
player.x + player.width > leftDoor.x &&
player.y < leftDoor.y + leftDoor.height &&
player.y + player.height > leftDoor.y)
{
if(doors[0].left == true)
alert("door is locked");
else
window.location = ( "2.html?p1=");
}
但是我无法从JSON文件本身读取。我尝试过这样的事情:
function loadJson() {
$(document).ready(function()
{
$.getJSON('info.json', function(doors) {
alert(doors[0].left);
});
});
}
但没有任何反应,我也需要能够访问HTML中的信息。我宁愿使用jQuery,但如果它有效,我不反对直接JS。我一直试图这样做多年,我绝对没有。如果有人可以帮助那将是惊人的。谢谢!
答案 0 :(得分:1)
也许你应该使用传统的函数jQuery.ajax并将响应解析为json。我总觉得它更容易调试。
jQuery.ajax({
url:'info.json',
dataType:'json'
}).done(function(response) {
console.log(response.doors);
});
请注意,响应的第一个元素不是响应[0]而是response.doors。
此外......我没有得到数据结构。你怎么在几个位置都有一个“左”键?
答案 1 :(得分:1)
$.get('info.json',{},function(data){
console.log(data.doors);
});
就是这样。