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
我不一定要暫停,而是在它們中調用一個函數。你的解決方案非常出色,我甚至沒有這個想法,謝謝! –