画布游戏 Json 功能仅适用于网页检查器

Canvas game Json function only works on web inspector

本文关键字:适用于 网页 检查 功能 Json 布游戏 游戏      更新时间:2023-09-26

我正在制作一个HTML5游戏,我正在使用Matriz来存储地图。但是现在我使用 $getJson 通过 json 文件读取该值并且可以工作,但问题是当通过 Web 检查器更改我的矩阵的值时,地图会发生变化,但是当我直接在代码上调用该函数时,我收到一个错误:

game.js:51TypeError: 'undefined' is not an object (evaluating 'levels.Level1')

第 51 行:mapa.loadMap(levels.Level1.board);

为什么这仅在调用函数"mapa.loadMap(levels.Level1.board)"在网页检查器上?

function map(){
    this.loadMap = function (l){
    var j= 0;
    for (var i = 0; i < l.length; i++) {
    var object = l[i];
    for (property in object) {
        var value = object[property];
        this.board[j][property] = value;
    }
    j++;
    }
    }
    this.width = 10;
    this.height = 8;
    this.image = new Image();
    this.image.src = "images/level1/tiles.png";
    this.board = [  [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
            [1, 1, 1, 1, 1, 1, 1, 1, 1, 2],
            [1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
            [8, 0, 0, 0, 33, 1, 1, 1, 1, 1],
            [8, 0, 0, 0, 0, 0, 0, 37, 0, 0],
            [25, 26, 0, 0, 0, 0, 0, 38, 0, 0],
            [27, 28, 5, 5, 6, 7, 0, 38, 0, 0],
            [1, 1, 1, 1, 1, 9, 5, 39, 5, 5],
                    ];
   (...)

忘记 XD

我的代码一团糟,因为它是草图,但我解决了:

$(document).ready(function(){
    init();
});
$(window).load(function () {
    console.log(levels.Level1.board);
    mapa = new map();  
    render();  
});

感谢您对:)的帮助对不起我的英语XD

$(document).ready(function(){
    init();
});
$(window).load(function () {
    console.log(levels.Level1.board);
    mapa = new map();  
    render();  
});