如何在Lua中从另一个类访问类变量?

我正在使用导演类进行场景转换,我需要在另一个类的类中使用变量。那么我该如何调用它?

     local a = require "welcome"

variableName 是 welcome 类中的文本显示对象

     print(a.variableName.text)

但是我得到了 nil。

你能帮我解决吗?谢谢。

点赞
用户1276924
用户1276924

将变量作为返回表的属性:

local Class = {}

function Class.new()
    local class = {}

    class.variableName = display.newText("Hello mom!", 100, 100, "Helvetica", 18)

    return class
end

return Class

然后,您可以引用它:

local a = require ("class").new()

print(a.variableName.text)

或者

如果您想在Rauber的Director Class中在屏幕之间传递变量,可以:

local parameters = {p1="some text", p2="some more text"}

director:changeScene(parameters, "sceneName")

在屏幕中,新函数接受参数:

function new(parameters)
    print(parameters.p1, parameters.p2) --> some text   some more text
end

或者

在变量前加上_G

_G.myGlobalVar = "some awesome stuff"

然后可以在另一个类中引用它

print(_G.myGlobalVar) --> some awesome stuff
2012-06-23 19:23:08