love.timer.sleep (Русский)

Available since LÖVE 0.2.1
This function is not supported in earlier versions.

Приостанавливает текущий поток на определённый промежуток времени.

O.png Эта функция заставляет весь поток приостанавливаться на время сна. Графика не будет отрисовываться, события ввода не будут обрабатываться, код не будет выполняться, и окно не будет отвечать если вы будете использовать эту функцию как "wait()" в главном потоке. Вместо этого используйте love.update или Timer library.  


Функция

Available since LÖVE 0.8.0
This behaviour is not supported in earlier versions.

Синопсис

love.timer.sleep( s )

Аргументы

number s
Время сна в секундах.

Возвращает

Ничего.

Функция

Removed in LÖVE 0.8.0
This behaviour is not supported in that and later versions.

Синопсис

love.timer.sleep( ms )

Аргументы

number ms
Время сна в миллисекундах.

Возвращает

Ничего.

Примеры

Используйте сон, чтобы ограничить FPS до 30

function love.update(dt)
   if dt < 1/30 then
      love.timer.sleep(1/30 - dt)
   end
end

Более сложный способ ограничения до 30 FPS

Этот пример учитывает время, потраченное на обновление и прорисовку каждого кадра.

function love.load()
   min_dt = 1/30
   next_time = love.timer.getTime()
end

function love.update(dt)
   next_time = next_time + min_dt

   --остальной код функции здесь
end

function love.draw()
   --остальной код функции здесь

   local cur_time = love.timer.getTime()
   if next_time <= cur_time then
      next_time = cur_time
      return
   end
   love.timer.sleep(next_time - cur_time)
end

Смотри также



Другие языки