Difference between revisions of "love.update"

m (legibility)
m (add some comments)
Line 12: Line 12:
 
Run a function called ''think'' inside a table called ''npc'' once per second.
 
Run a function called ''think'' inside a table called ''npc'' once per second.
 
<source lang="lua">
 
<source lang="lua">
dtotal = 0
+
dtotal = 0   -- this keeps track of how much time has passed
 
function love.update(dt)
 
function love.update(dt)
   dtotal = dtotal + 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
 
   if dtotal > 1 then
     dtotal = dtotal - 1
+
     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()
 
     npc.think()
 
   end
 
   end

Revision as of 05:12, 26 September 2011

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

Function

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
rate = 3 -- change to change the rate at which the var is changed
function love.update(dt)
   if love.keyboard.isDown("down") then
      var = var + (dt * rate)
   elseif love.keyboard.isDown("up") then
      var = var - (dt * rate)
   end
end

See Also


Other Languages