我正在尝试使全局变量在init中初始化
function init(self)
extra_weight = 10
但是,每次我尝试将其放入另一个函数中时,该值都会显示为nil。
function between(obj, handle, elapsed)
print(extra_weight)
if extra_weight.y >= -100 then
more_weight()
end
请确保先运行init
函数。然后,尝试使用lua的全局表,即_G
。
function init(self)
_G["extra_weight"] = 10
-- Or, you can use:
_G.extra_weight = 10
-- They both do the same.
end
通过使用全局表,您可以直接在lua的全局范围内定义变量。还有一种定义常量变量(如果以前没有定义)的标准,使用'or
'关键字。
function between(obj, handle, elapsed)
extra_weight = extra_weight or 10
...
从技术上讲,如果是10
,则将值设置为nil
。