Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:无法读取属性';楠';在我的getTile函数中未定义的_Javascript_Html_Canvas - Fatal编程技术网

Javascript 未捕获类型错误:无法读取属性';楠';在我的getTile函数中未定义的

Javascript 未捕获类型错误:无法读取属性';楠';在我的getTile函数中未定义的,javascript,html,canvas,Javascript,Html,Canvas,我正在尝试根据玩家位置获取分片,因此我必须在这部分代码的getTile函数中使用变量: var level = { levelCols: mapArray[mapID].levelCols, levelRows: mapArray[mapID].levelRows, tileSize: mapArray[mapID].tileSize, tiles: mapArray[mapID].tiles, getTile: function(col, row)

我正在尝试根据玩家位置获取分片,因此我必须在这部分代码的getTile函数中使用变量:

var level = {
    levelCols: mapArray[mapID].levelCols,
    levelRows: mapArray[mapID].levelRows,
    tileSize: mapArray[mapID].tileSize,

    tiles: mapArray[mapID].tiles,

    getTile: function(col, row) {
        return this.tiles[row][col];
    }

};
但当我在函数中输入以下值时:

for (var c = 0; c <  vWidth; c++) {
        for (var r = 0; r <  vHeight; r++) {
            var viewX = vX + c;
            var viewY = vY + r;
            var drawTile = level.getTile(viewX, viewY);
            context.drawImage(tileGraphics[drawTile], viewX * level.tileSize, viewY * level.tileSize); //drawImage(image,x,y)
        }
    }
for(var c=0;c
我得到了未捕获的TypeError:无法读取未定义错误的属性'NaN'。
我有全局定义的vX和vY变量,它们有正确的值,但我不确定为什么它会给我错误。

我很愚蠢,在测试中留下了一些代码,把事情搞砸了。我已经解决了我的问题。

这意味着某一行代码的计算结果为
未定义[NaN]
,错误指向哪一行?您是否记录了该行中的每个变量、对象属性,并确保它们与您认为的一样?错误指向-返回此.tiles[row][col];只有在代码第二部分的for循环中定义这些值时,这些值才会起作用。但我需要在别处编辑它们。返回这个.tiles[行][col];将返回特定输入的平铺值,即返回此.tiles[4][2];将在第2列第4行中提供磁贴。尝试不使用
。我得到的磁贴未定义,因为技术上它是
级别。磁贴[x][y]
所以这个函数是这样的。这是需要的。将
this.tiles
更改为
level.tiles
也会导致错误。Abd
level.tiles
的错误是什么?