Javascript 未捕获类型错误:无法读取属性';楠';在我的getTile函数中未定义的
我正在尝试根据玩家位置获取分片,因此我必须在这部分代码的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)
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
也会导致错误。Abdlevel.tiles
的错误是什么?