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

在 'MotionDetection.lua',如果 i 是 1,我想将 'tracking.lua' 文件中 trackingObject 的状态设置为 true

trackingObject:setVisible(true)

如果 i 是 2,我想将 'tracking.lua' 文件中 trackingObject 的状态设置为 false

trackingObject:setVisible(false)

如何从 'MotionDetection.lua' 文件中访问 'tracking.lua' 中的 trackingObject

点赞
用户1442917
用户1442917

由于在tracking.lua中将trackingObject设置为本地变量(local trackingObject = Object3D...),因此无法从MotionDetection.lua中访问该变量。 你有几个选项使该对象可用:你可以在这种情况下切换到使用全局变量,也可以将表/对象作为tracking.lua结果返回,这将允许加载tracking.lua的其他模块(例如,使用require 'tracking')访问这些值。 (请参阅Lua手册中的require)。

由于在 tracking.lua中将 trackingObject设置为本地变量(local trackingObject = Object3D...),因此无法从 MotionDetection.lua中访问该变量。 你有几个选项使该对象可用:你可以在这种情况下切换到使用全局变量,也可以将表/对象作为 tracking.lua结果返回,这将允许加载 tracking.lua的其他模块(例如,使用require 'tracking')访问这些值。 (请参阅Lua手册中的require)。

2015-04-26 23:38:15