Function (Corona SDK)从一个;enterFrame";功能
我想知道如何从Corona SDK中的“enterFrame”函数调用一次函数 假设我有:Function (Corona SDK)从一个;enterFrame";功能,function,lua,runtime,coronasdk,Function,Lua,Runtime,Coronasdk,我想知道如何从Corona SDK中的“enterFrame”函数调用一次函数 假设我有: local function funa() i = i+1 funb() end Runtime:addEventListener("enterFrame", funa) 除了希望“i”每帧递增外,我还希望运行“funb”,但每个帧只运行一次,而不是一次,但我不知道如何做到这一点 有什么想法吗?除了使用全局变量来跟踪这一点的更简单、更明显的解决方案之外,您还可以使用闭包。例如: loc
local function funa()
i = i+1
funb()
end
Runtime:addEventListener("enterFrame", funa)
除了希望“i”每帧递增外,我还希望运行“funb”,但每个帧只运行一次,而不是一次,但我不知道如何做到这一点
有什么想法吗?除了使用全局变量来跟踪这一点的更简单、更明显的解决方案之外,您还可以使用闭包。例如:
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()
现在我将增加每一帧,但函数将被调用一次
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)