访问表格内部的表格中的数据返回的值为 nil。

截至目前,我正在尝试通过Tiled从精灵表绘制一个分层的世界地图(非常有用,因为您可以直接在.lua文件中以可视方式导出创建的地图)。

关于这一点,我遇到了一个问题:Tiled提供了一个这样的lua文件,让我们称其为data.lua

返回{ ---数据 tilesets = { image =“路径/到/图像”, imagewidth = 2560, imageheight = 1664, --其他数据 },

层= {

layer1 = {},  - 这里有数据
layer2 = {}  - 这里有数据

}

}

在另一个文件world_map.lua中,我有这个

local world_map = {} local world_data = {} world_data = require“ data”

local last_tile =(world_data.tilesets.imagewidth * world_data.tilesets.imageheight)/(world_data.tilewidth * world_data.tileheight)

  • 各种功能也使用world_data

返回world_map

现在,当我运行这段代码时,我得到的是无法在imagewidth上进行算术运算,因为它是nil值,因此我猜它看起来没有初始化。我不明白我做错了什么:require指令应该将该表(由data.lua返回的表)分配给局部变量,然后我简单地访问此变量并对其字段进行操作。而且,嵌套表内的所有字段都用各自的值初始化,但是根据解释器,它们的值是nil。我做错了什么?

点赞