#lua #love2d
#lua #любовь 2d
Вопрос:
Поэтому в основном я хочу вызывать функцию в lua через случайные промежутки времени в love2d. Я понятия не имею, как это сделать, поэтому буду признателен за любую помощь.
Комментарии:
1. что такое случайный временной интервал здесь? какое распределение?
Ответ №1:
local t = math.random(MIN, MAX); function love.update(dt) t = t - dt if t lt;= 0 then FUNCTION() t = math.random(MIN, MAX); end end
Ответ №2:
Вы также можете увеличить количество кадров в love.update, потому что love.update называется каждый кадр…
function love.load() frame = 0 gameover = love.math.random(3600, 86399) end function love.update(dt) frame = frame 1 if frame gt; gameover then frame = 0 -- Reset needed here gameover = love.math.random(3600, 86399) -- New random time love.event.quit('restart') -- Function to execute if true end end function love.draw() love.graphics.print({{0,1,0,1},tostring(frame) .. ' gt; ' .. tostring(gameover)}, 10, 10) end
И если ваш FPS ограничен 60, то вы можете это сделать…
function love.draw() love.graphics.print({{0,1,0,1},os.date(tostring(frame) .. ' gt; %H:%M.%S gt; ' .. tostring(gameover), frame - 3600)}, 10, 10) end
Простое изменение позволяет нам получить обратный отсчет времени вместо статического номера тайм-аута перехода к игре…
function love.draw() love.graphics.print({{0,1,0,1},os.date(tostring(frame) .. ' gt; %H:%M.%S gt; ' .. tostring(gameover - frame), (gameover - frame) - 3600)}, 10, 10) end