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