【发布时间】:2021-12-09 01:20:39
【问题描述】:
简单的问题,我却不容易解决:
我有一个循环和随 OnEvent(event, arg) 函数变化的变量
但是在循环中它不会检测到例如变化
local cancel_action = false
function OnEvent(event, arg)
if (event == "MOUSE_BUTTON_PRESSED" and arg == 2) then
cancel_action = not cancel_action
OutputLogMessage("DETECT cancel_action :")
OutputLogMessage(tostring(cancel_action))
end
if (event == "MOUSE_BUTTON_PRESSED" and arg == 3) then
test()
end
end
function test()
count_ = 0
repeat
count_ = count_ + 1
OutputLogMessage("cancel_action ?")
OutputLogMessage(tostring(cancel_action))
if ( cancel_action ) then
OutputLogMessage("do something and stop")
cancel_action = not cancel_action
break
else
OutputLogMessage("do something else and loop again")
end
until count_ > 10
end
这里 cancel_action 检测到更改并在 OnEvent 函数中正常工作,但在测试函数的循环中从未检测到。
所以总结一下我想要的是使用保存状态但这些状态在我的测试函数中没有正确更新的变量。
我做错了什么?在循环中是否可以检测到变量的变化?该事件似乎只有在循环完成后才会触发
【问题讨论】:
-
这能回答你的问题吗? LUA scripting switching on/off a script
标签: lua logitech-gaming-software