Difference between revisions of "love.timer.sleep"

(0.8.0 changes)
Line 1: Line 1:
 +
{{newin|[[0.2.1]]|021|type=function}}
 
Sleeps the program for the specified amount of time.
 
Sleeps the program for the specified amount of time.
 
== Function ==
 
== Function ==
Line 10: Line 11:
 
Nothing.
 
Nothing.
  
{{newin|[[0.8.0]]|080|type=function}}
+
{{newin|[[0.8.0]]|type=behaviour}}
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
Line 58: Line 59:
 
[[Category:Functions]]
 
[[Category:Functions]]
 
{{#set:Description=Sleeps the program for the specified amount of time.}}
 
{{#set:Description=Sleeps the program for the specified amount of time.}}
{{#set:Since=000}}
 
 
== Other Languages ==
 
== Other Languages ==
 
{{i18n|love.timer.sleep}}
 
{{i18n|love.timer.sleep}}

Revision as of 23:28, 23 November 2011

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

Synopsis

love.timer.sleep( ms )

Arguments

number ms
Milliseconds to sleep for.

Returns

Nothing.

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.

Examples

Use sleep to cap FPS at 30 (in 0.7.2 or older)

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

More sophisticated way to cap FPS (in 0.7.2 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(1000*(next_time - cur_time))
end

See Also

Other Languages