我正在尝试做一个OnChange事件侦听器,我想使用coroutines来轮询循环中的值,看看它是否改变了,所以
function Changed(Value)
local StartingValue = Value
while true do
if StartingValue ~= Value then
print(Value)
StartingValue = Value
break
end
end
end
local n = 0
local co = coroutine.wrap(function()
Changed(n)
coroutine.yield()
end)
co()
n = (n + 1)
print("Script ended")是我现在想到的密码,但它被困在了Coroutine..。在co()之后什么都不会发生
到底怎么回事?
发布于 2022-07-30 08:38:56
函数Changed()永远不会返回。
在一开始,您将Value分配给StartingValue,而break位于if语句中,只有在值不同时才执行该语句。但并不是因为最初的任务。所以你有一个无限的循环,它没有结束的方法。
https://stackoverflow.com/questions/73173230
复制相似问题