Difference between revisions of "love.timer.sleep (Русский)"
Line 1: | Line 1: | ||
− | Приостанавливает | + | {{newin|[[0.2.1]]|021|type=function}} |
+ | Приостанавливает текущий поток на определённый промежуток времени. | ||
+ | {{notice|Эта функция заставляет весь поток приостанавливаться на время сна. Графика не будет отрисовываться, события ввода не будут обрабатываться, код не будет выполняться, и окно не будет отвечать если вы будете использовать эту функцию как "wait()" в главном потоке. Вместо этого используйте [[love.update]] или [[love.timer (Русский)|Timer library]].}} | ||
== Функция == | == Функция == | ||
− | === | + | {{newin|[[0.8.0]]|080|type=behaviour}} |
+ | === Синопсис === | ||
<source lang="lua"> | <source lang="lua"> | ||
love.timer.sleep( s ) | love.timer.sleep( s ) | ||
</source> | </source> | ||
=== Аргументы === | === Аргументы === | ||
− | {{ | + | {{param|number|s|Время сна в секундах.}} |
=== Возвращает === | === Возвращает === | ||
Ничего. | Ничего. | ||
− | == | + | == Функция == |
− | + | {{oldin|[[0.8.0]]|080|type=behaviour}} | |
− | == | + | === Синопсис === |
+ | <source lang="lua"> | ||
+ | love.timer.sleep( ms ) | ||
+ | </source> | ||
+ | === Аргументы === | ||
+ | {{param|number|ms|Время сна в миллисекундах.}} | ||
+ | === Возвращает === | ||
+ | Ничего. | ||
+ | == Примеры == | ||
+ | === Используйте сон, чтобы ограничить FPS до 30 === | ||
+ | <source lang="lua"> | ||
+ | function love.update(dt) | ||
+ | if dt < 1/30 then | ||
+ | love.timer.sleep(1/30 - dt) | ||
+ | end | ||
+ | end | ||
+ | </source> | ||
+ | === Более сложный способ ограничения до 30 FPS === | ||
+ | Этот пример учитывает время, потраченное на обновление и прорисовку каждого кадра. | ||
+ | <source lang="lua"> | ||
+ | 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 | ||
+ | </source> | ||
+ | |||
+ | == Смотри также == | ||
* [[parent::love.timer (Русский)]] | * [[parent::love.timer (Русский)]] | ||
[[Category:Functions]] | [[Category:Functions]] | ||
− | {{#set:Description= | + | {{#set:Description=Pauses the current thread for the specified amount of time.}} |
+ | {{#set:Since=021}} | ||
+ | {{#set:PrettySince=0.2.1}} | ||
== Другие языки == | == Другие языки == | ||
{{i18n|love.timer.sleep}} | {{i18n|love.timer.sleep}} |
Revision as of 06:03, 19 November 2019
Available since LÖVE 0.2.1 |
This function is not supported in earlier versions. |
Приостанавливает текущий поток на определённый промежуток времени.
Эта функция заставляет весь поток приостанавливаться на время сна. Графика не будет отрисовываться, события ввода не будут обрабатываться, код не будет выполняться, и окно не будет отвечать если вы будете использовать эту функцию как "wait()" в главном потоке. Вместо этого используйте love.update или Timer library. |
Contents
Функция
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
Смотри также
Другие языки
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info