Lua:我如何从另一个类中获取一个类变量?

时间:2015-04-26 22:59:10

标签: lua

我将此对象放在一个文件' tracking.lua'中,它是:

local trackingObject = Object3D(scene:getObjectByName("Tracking_Object"))

在文件' MotionDetection.lua'中,我有这个:

for i,v in ipairs(zone) do
    zoneDetection[i] = chaneledHistory:testRegion2D(v, moveRatio);
    if zoneDetection[i] then 
        zoneDet[i] = 1
        LOG('zone '..i..' detected')
    end
end

如果i为1,我想在' Motion.tea&#39到trackingObject

true

如果trackingObject:setVisible(true) 为2,我想在' tracking.lua'中设置i的状态。到trackingObject

false

我如何在追踪内容trackingObject:setVisible(false) 追踪'来自' MotionDetection.lua'?

1 个答案:

答案 0 :(得分:1)

由于trackingObjecttracking.lualocal trackingObject = Object3D...)中设置为本地,因此您无法从MotionDetection.lua访问该变量。您确实有几个选项可以使该对象可用:在这种情况下,您可以切换到使用global variable,或者返回一个表/对象作为tracking.lua的结果,这将是允许加载tracking.lua的其他模块(例如,使用require 'tracking')访问这些值(请参阅Lua manual for require)。