Love2d 将值添加到 for 循环内的 table .. 使用变量

Love2d adding value to table inside for loop.. Using a variable

这件事真的困扰了我一段时间:

for i = 1, 4 do
   x = love.physics.newFixture(diffTable[i].body, diffTable[i].shape):setCategory(10)
   x = x:setUserData('Border') -- error here
   table.insert(data, x)
end

假设我想在 table 中插入一个变量(基本上是创建变量,然后修改它)然后插入它:

当我执行 x = x:setUserData(...) 时出现错误。说 attempt to index global variable x (nil)

所以我的问题是,我将如何在 for 循环中创建一个变量,特别是 我需要这样做,因为我正在使用 love.physics,并创建一个带有类别的 fixture。那个时候我也需要setUserData但是不可能

而且我相信一定有办法做到这一点... 提前致谢!!

函数 Fixture:setCategory 没有 return 值。

所以当你这样做时

x = love.physics.newFixture(diffTable[i].body, diffTable[i].shape):setCategory(10)

您正在设置 x = nilFixture:setUserData 也没有 return 值。

如果您将其更改为此,您将不会再收到该错误。

for i = 1, 4 do
   x = love.physics.newFixture(diffTable[i].body, diffTable[i].shape)
   x:setCategory(10)
   x:setUserData('Border') -- error here

   table.insert(data, x)
end