预期表。得到零错误?

时间:2015-10-18 03:19:48

标签: lua

在以下代码中

for k, smoke in pairs(self.smokes) do
     smoke.time = smoke.time - dt
     if smoke.time <= 0 then
       table.remove( self.smokes, k )
     end
   end

它告诉我self.smokes是一个零值,虽然后面的代码我声明

function ent:Smoke()
  table.insert( self.smokes, {time = 3, x = self.x, y = self.y} )
end

有人知道我的错误吗?谢谢你们!

2 个答案:

答案 0 :(得分:0)

因为函数ent:Smoke在代码中稍后运行。 将它放在顶部,它将起作用。

答案 1 :(得分:0)

也许你想要这个:

function ent:Smoke()
  self.smokes = {time = 3, x = self.x, y = self.y}
end

您还需要更改其他代码:

if self.smokes then
  self.smokes.time = self.smokes.time - dt
  if self.smoke.time <= 0 then
    self.smokes = nil
  end
end

函数table.insert()用于插入数组类型表。