0
我正在用LÖVE框架编写Lua代码。是否有任何东西可以提供在特定时间内暂停给定函数的运行?在进入下一步之前等待一段时间
我知道的是,love.draw()
和love.updates()
都可用来跟踪时间的持续。我应该根据这一点做些什么,还是有一种更简单的方法?可能内置的功能?
我正在用LÖVE框架编写Lua代码。是否有任何东西可以提供在特定时间内暂停给定函数的运行?在进入下一步之前等待一段时间
我知道的是,love.draw()
和love.updates()
都可用来跟踪时间的持续。我应该根据这一点做些什么,还是有一种更简单的方法?可能内置的功能?
暂停这些不是一个好主意。特别是love.draw
,因为需要使窗口保持最新状态。
但是,如果您在特定时间段内有一些不想执行的操作,那很简单。在这段时间的开始,获得当前时间。然后,在每一帧中检查是否已经过了所请求的经过时间。一旦完成,请回到做这个处理。
local function begin_elapsed_wait(time_to_wait)
local end_time = love2d.timer.getTime() + time_to_wait
return function()
if(end_time < love2d.timer.getTime()) then
return true
else
return false
end
end
end
local am_waiting = function() return false end
function love.update(dt)
if(am_waiting()) then
return
end
--Do stuff.
if(--[[whatever]]) then
am_waiting = begin_elapsed_wait(2.5) --do not update for 2.5 seconds
end
end
我不一定要暂停,而是在它们中调用一个函数。你的解决方案非常出色,我甚至没有这个想法,谢谢! –