Difference between revisions of "love.timer.sleep"
(0.8.0 sample updated) |
|||
Line 22: | Line 22: | ||
Nothing. | Nothing. | ||
== Examples == | == Examples == | ||
− | === Use sleep to cap FPS at 30 (in 0. | + | === Follow the the 0.8.0 API for love.timer.sleep but fix the older version === |
+ | <source lang="lua"> | ||
+ | local love_timer_sleep = love.timer.sleep -- in s (like >=0.8.0) | ||
+ | if love._version:find("^0%.[0-7]%.") then -- if version < 0.8.0 | ||
+ | -- love.timer.sleep in ms | ||
+ | love_timer_sleep = function(s) love.timer.sleep(s*1000) end | ||
+ | end | ||
+ | </source> | ||
+ | === Use sleep to cap FPS at 30 (in 0.8.0 or older) === | ||
<source lang="lua"> | <source lang="lua"> | ||
function love.update(dt) | function love.update(dt) | ||
if dt < 1/30 then | if dt < 1/30 then | ||
− | + | love_timer_sleep(1/30 - dt) | |
end | end | ||
end | end | ||
</source> | </source> | ||
− | === More sophisticated way to cap FPS (in 0. | + | === More sophisticated way to cap FPS (in 0.8.0 or older) === |
This takes into account the time spent updating and drawing each frame. | This takes into account the time spent updating and drawing each frame. | ||
<source lang="lua"> | <source lang="lua"> | ||
Line 52: | Line 60: | ||
return | return | ||
end | end | ||
− | + | love_timer_sleep(next_time - cur_time) | |
end | end | ||
</source> | </source> |
Revision as of 16:27, 24 November 2012
Available since LÖVE 0.2.1 |
This function is not supported in earlier versions. |
Sleeps the program for the specified amount of time.
Function
Available since LÖVE 0.8.0 |
This behaviour is not supported in earlier versions. |
Synopsis
love.timer.sleep( s )
Arguments
number s
- Seconds to sleep for.
Returns
Nothing.
Function
Removed in LÖVE 0.8.0 |
This behaviour is not supported in that and later versions. |
Synopsis
love.timer.sleep( ms )
Arguments
number ms
- Milliseconds to sleep for.
Returns
Nothing.
Examples
Follow the the 0.8.0 API for love.timer.sleep but fix the older version
local love_timer_sleep = love.timer.sleep -- in s (like >=0.8.0)
if love._version:find("^0%.[0-7]%.") then -- if version < 0.8.0
-- love.timer.sleep in ms
love_timer_sleep = function(s) love.timer.sleep(s*1000) end
end
Use sleep to cap FPS at 30 (in 0.8.0 or older)
function love.update(dt)
if dt < 1/30 then
love_timer_sleep(1/30 - dt)
end
end
More sophisticated way to cap FPS (in 0.8.0 or older)
This takes into account the time spent updating and drawing each frame.
function love.load()
min_dt = 1/30
next_time = love.timer.getMicroTime()
end
function love.update(dt)
next_time = next_time + min_dt
--rest of function here
end
function love.draw()
--rest of function here
local cur_time = love.timer.getMicroTime()
if next_time <= cur_time then
next_time = cur_time
return
end
love_timer_sleep(next_time - cur_time)
end
See Also
Other Languages
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