Difference between revisions of "love.update"

(Added a notice that this will not work in a thread.)
m (Fixed formatting)
Line 2: Line 2:
 
== Function ==
 
== Function ==
  
{{notice|love.update will not be called inside of [[Threads]]. This is not a problem if you use this callback inside of main.lua}}
+
{{notice|love.update will not be called inside of [[love.thread|Threads]]. This is not a problem if you use this callback inside of main.lua}}
  
 
=== Synopsis ===
 
=== Synopsis ===

Revision as of 02:29, 17 March 2019

Callback function used to update the state of the game every frame.

Function

O.png love.update will not be called inside of Threads. This is not a problem if you use this callback inside of main.lua  


Synopsis

love.update( dt )

Arguments

number dt
Time since the last update in seconds.

Returns

Nothing.

Examples

Run a function called think inside a table called npc once per second.

dtotal = 0   -- this keeps track of how much time has passed
function love.update(dt)
   dtotal = dtotal + dt   -- we add the time passed since the last update, probably a very small number like 0.01
   if dtotal >= 1 then
      dtotal = dtotal - 1   -- reduce our timer by a second, but don't discard the change... what if our framerate is 2/3 of a second?
      npc.think()
   end
end

Change a variable var at a constant rate (+/- 3 per second in this example).

var = 10   -- arbitrary starting value
rate = 3   -- change to change the rate at which the var is changed
function love.update(dt)
   if love.keyboard.isDown("down") then   -- reduce the value
      var = var - (dt * rate)
   end
   if love.keyboard.isDown("up") then   -- increase the value
      var = var + (dt * rate)
   end
end

See Also


Other Languages