【发布时间】:2015-07-10 09:47:20
【问题描述】:
所以我在集思广益关于编程,基本上是 lua 中的逻辑模拟器。我必须彻底检查整个系统,但我认为基于事件的操作可能比不断更新的操作更好。
我有类似的东西:
local var1 = false
local var2 = false
while true do
if key == "a" then
var1 = not var1
end
if key == "s" then var2 = not var2 end
var2 = var1
end
但我想要这样的东西:
local var1 = false
local var2 = false
while true do
if key == "a" then
var1 = not var1
end
if key == "s" then var2 = not var2 end
if on.change(var1) then
var2 = var1
end
end
所以是的,我希望 var2 是独立的,我不希望它一直将自己设置为 var1,我只希望 var2 对 var1 做出反应,如果 var1 发生了变化。
如果我们看第一个代码块,你会发现我无法真正独立控制 var2,它总是将自己设置为 var1,它可能会在很短的时间内将自己设置为 var1。
如果我们查看第二个代码块,您可以看到我可以独立于 var1 控制 var2,并且它仍然对 var1 做出反应。
现在最类似的事情是做这样的事情:
local var1 = false
local var2 = false
while true do
if key == "a" then
var1 = not var1
var2 = var1
end
if key == "s" then
var2 = not var2
end
end
但我担心这真的不可能实现,而且它会减慢它,因为有很多循环在进行,添加更多的嵌套循环真的会减慢它......
所以请在第二个代码块上发布与事件类似的内容,我已经发布了类似的内容,但它很难实现,并且会有严重的副作用,比如我的嵌套循环正在做。
感谢您的宝贵时间!
【问题讨论】:
-
以及它难以实现的原因,因为它必须查看另一个变量,并且它应该在没有按键的情况下工作。
标签: events lua boolean onchange