Corona SDK 中的 Lua 作用域

我在想如何从外部函数(例如“Object:setActive()”)访问Obj.isActive。我会将它拉到Object表中,但是我需要为所有单独的对象拥有多个isActive属性的实例。只是试图找出一种方法来做到这一点。

Object

Object = {};

ObjectMeta = {__index = Object};

function Object.new(args)
    Obj = {};
    Obj.isActive= false;
    return setmetatable(Obj,ObjectMeta);
end

function Object:setActive()
    -- ??????????????????????????
    -- self.isActive = nil
end

return Object;
点赞
用户1190388
用户1190388

对于元表,您可以如下使用self

function Object:setActive()
    self.isActive = true
end

这是您代码的SSCCE示例:http://eval.in/25148

2013-05-10 07:04:57