Difference between revisions of "love.update"
m (add some comments) |
m (whoops, spacing) |
||
Line 14: | Line 14: | ||
dtotal = 0 -- this keeps track of how much time has passed | dtotal = 0 -- this keeps track of how much time has passed | ||
function love.update(dt) | 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 | end | ||
</source> | </source> | ||
Change a variable ''var'' at a constant rate (+/- 3 per second in this example). | Change a variable ''var'' at a constant rate (+/- 3 per second in this example). | ||
<source lang="lua"> | <source lang="lua"> | ||
− | var = 10 | + | var = 10 -- arbitrary starting value |
− | rate = 3 -- change to change the rate at which the var is changed | + | rate = 3 -- change to change the rate at which the var is changed |
function love.update(dt) | function love.update(dt) | ||
− | if love.keyboard.isDown("down") then | + | 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) | var = var + (dt * rate) | ||
− | |||
− | |||
end | end | ||
end | end |
Revision as of 05:14, 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 -- 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
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info