我想知道如何从Corona SDK中的“enterFrame”函数调用一次函数。
让我说我有:
local function funa()
i = i+1
funb()
end
Runtime:addEventListener("enterFrame", funa)
除了希望每一帧都增加'i'之外,我还想运行“funb”,但每帧只有一次而不是一次,但我无法找到如何做到这一点。
有什么想法吗?
答案 0 :(得分:0)
除了使用全局变量来跟踪这个的更简单和更明显的解决方案之外,您还可以使用闭包。例如:
local
function funa()
local run_already = false
local i = 0
return function()
i = i+1
if not run_already then
funb()
run_already = true
end
end
end
funa = funa()
funa()
funa()
答案 1 :(得分:0)
local run_flag = false
local function funa()
i = i+1
if not run_flag then
funb()
run _flag = true
end
end
Runtime:addEventListener("enterFrame", funa)
现在我将增加每一帧,但函数将被调用一次。