在以下代码中
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
有人知道我的错误吗?谢谢你们!
答案 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()
用于插入数组类型表。