字段不会以折叠形式传输

问题描述 投票:0回答:1

我正在尝试使全局变量在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
lua scope field defold
1个回答
0
投票

请确保先运行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

© www.soinside.com 2019 - 2024. All rights reserved.