Difference between revisions of "love.timer.sleep (Deutsch)"

(translated original)
 
(Updated german translation.)
 
Line 1: Line 1:
Lässt das Programm so lange wie angegeben einschlafen.
+
Pausiert den aktuellen Thread für die angegebene Zeitspanne.
 +
 
 +
{{notice|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 (Deutsch)|love.timer.sleep]] nicht als "wait()"-Ersatz im Hauptthread verwendet werden. Stattdessen sollte [[love.update (Deutsch)|love.update]] oder eine Timer-Library verwendet werden.}}
 +
 
 
== Funktion ==
 
== Funktion ==
=== Überblick ===
+
{{newin|[[0.8.0]]|080|type=behaviour}}
 +
=== Übersicht ===
 +
<source lang="lua">
 +
love.timer.sleep( s )
 +
</source>
 +
=== Argumente ===
 +
{{param|number (Deutsch)|s|Die Dauer des Schlafvorgangs in Sekunden.}}
 +
=== Rückgabewerte ===
 +
Keine.
 +
 
 +
== Funktion ==
 +
{{oldin|[[0.8.0]]|080|type=behaviour}}
 +
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
 
love.timer.sleep( ms )
 
love.timer.sleep( ms )
 
</source>
 
</source>
 
=== Argumente ===
 
=== Argumente ===
{{param|number|ms|Legt fest, wieviele Millisekunden lang geschlafen werden soll}}
+
{{param|number (Deutsch)|ms|Die Dauer des Schlafvorgangs in Millisekunden.}}
=== Rückgabewert ===
+
=== Rückgabewerte ===
Keiner.
+
Keine.
 +
 
 +
== Examples ==
 +
Verwendung von [[love.timer.sleep (Deutsch)|love.timer.sleep]] um die Framrate bei 30 FPS zu kappen.
 +
<source lang="lua">
 +
function love.update(dt)
 +
  if dt < 1/30 then
 +
      love.timer.sleep(1/30 - dt)
 +
  end
 +
end
 +
</source>
 +
 
 +
Ein verfeinerter Ansatz um die FPS zu kappen, da er die Zeit berücksichtigt, welche zum [[love.update (Deutsch)|aktualisieren]] und [[love.draw (Deutsch)|zeichnen]] jedes Frames gebraucht wird.
 +
<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
 +
 
 +
  --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
 +
</source>
 +
 
 
== Siehe auch ==
 
== Siehe auch ==
* [[parent::love.timer (Deutsch)]]
+
* [[parent::love.timer (Deutsch)|love.timer]]
 +
 
 
[[Category:Functions]]
 
[[Category:Functions]]
{{#set:Description=Lässt das Programm so lange wie angegeben einschlafen.}}
+
{{#set:Description=Pausiert den aktuellen Thread für die angegebene Zeitspanne.}}
 +
{{#set:Since=021}}
  
 
== Andere Sprachen ==
 
== Andere Sprachen ==
 
{{i18n|love.timer.sleep}}
 
{{i18n|love.timer.sleep}}

Latest revision as of 11:15, 2 October 2014

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