love.timer.sleep (Deutsch)

Pausiert den aktuellen Thread für die angegebene Zeitspanne.

O.png Diese Funktion pausiert einen Thread für die gesamte Dauer des Schlafvorgangs. Das bedeutet, dass keine Grafiken gezeichnet, keine Eingaben verarbeitet, kein Code ausgeführt werden und das Programmfenster nicht mehr reagiert. Deshalb sollte love.timer.sleep nicht als "wait()"-Ersatz im Hauptthread verwendet werden. Stattdessen sollte love.update oder eine Timer-Library verwendet werden.  

Funktion

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

Übersicht

love.timer.sleep( s )

Argumente

number (Deutsch) s
Die Dauer des Schlafvorgangs in Sekunden.

Rückgabewerte

Keine.

Funktion

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

Synopsis

love.timer.sleep( ms )

Argumente

number (Deutsch) ms
Die Dauer des Schlafvorgangs in Millisekunden.

Rückgabewerte

Keine.

Examples

Verwendung von love.timer.sleep um die Framrate bei 30 FPS zu kappen.

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

Ein verfeinerter Ansatz um die FPS zu kappen, da er die Zeit berücksichtigt, welche zum aktualisieren und zeichnen jedes Frames gebraucht wird.

function love.load()
   min_dt = 1/30
   next_time = love.timer.getTime()
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.getTime()
   if next_time <= cur_time then
      next_time = cur_time
      return
   end
   love.timer.sleep(next_time - cur_time)
end

Siehe auch


Andere Sprachen