Tutorial:Callback Functions (Français)
Les fonctions callback dans LÖVE sont utilisées par le moteur pour effectuer des tâches diverses et sont toutes facultatives. Toutefois, une jeu complet les utilisera probablement quasiment toutes, il est donc interessant de les connaitre.
Contents
love.load
function love.load()
image = love.graphics.newImage("cake.jpg")
local f = love.graphics.newFont(12)
love.graphics.setFont(f)
love.graphics.setColor(0,0,0,255)
love.graphics.setBackgroundColor(255,255,255)
end
Cette fonction est appelée une seule fois, lorsque le jeu est lancé, et est généralement celle où vous chargez des ressources, initialisez des variables et des paramètres spécifiques. Toutes ces choses peuvent aussi être faites n'importe où ailleurs, mais de les faire ici signifie qu'ils sont fait une seule fois, de gagner beaucoup de ressources système.
love.update
function love.update(dt)
if love.keyboard.isDown("up") then
num = num + 100 * dt -- this would increment num by 100 per second
end
end
Cette fonction est appelée en permanence et sera probablement l'endroit où la plupart de vos calculs seront fait. 'dt' signifit "delta temps", c'est le nombre de secondes depuis la dernière fois que cette fonction a été appelée (qui est habituellement une petite valeur comme 0.025714).
love.draw
function love.draw()
love.graphics.draw(image, imgx, imgy)
love.graphics.print("Click and drag the cake around or use the arrow keys", 10, 10)
end
love.draw
is where all the drawing happens (if that wasn't obvious enough already) and if you call any of the love.graphics.draw
outside of this function then it's not going to have any effect. This function is also called continuously so keep in mind that if you change the font/color/mode/etc at the end of the function then it will have a effect on things at the beginning of the function. For example:
function love.load()
love.graphics.setColor(0,0,0)
end
function love.draw()
love.graphics.print("This text is not black because of the line below", 100, 100)
love.graphics.setColor(255,0,0)
love.graphics.print("This text is red", 100, 200)
end
love.mousepressed
function love.mousepressed(x, y, button)
if button == 'l' then
imgx = x -- move image to where mouse clicked
imgy = y
end
end
This function is called whenever a mouse button is pressed and it receives the button and the coordinates of where it was pressed. The button can be any of the constants. This function goes very well along with love.mousereleased
.
love.mousereleased
function love.mousereleased(x, y, button)
if button == 'l' then
fireSlingshot(x,y) -- this totally awesome custom function is defined elsewhere
end
end
This function is called whenever a mouse button is released and it receives the button and the coordinates of where it was released. You can have this function together with love.mousepressed
or separate, they aren't connected in any way.
love.keypressed
function love.keypressed(key, unicode)
if key == 'b' then
text = "The B key was pressed."
elseif key == 'a' then
a_down = true
end
end
This function is called whenever a keyboard key is pressed and receives the key that was pressed. The key can be any of the constants. This functions goes very well along with love.keyreleased
.
love.keyreleased
function love.keyreleased(key, unicode)
if key == 'b' then
text = "The B key was released."
elseif key == 'a' then
a_down = false
end
end
This function is called whenever a keyboard key is released and receives the key that was released. You can have this function together with love.keypressed
or separate, they aren't connected in any way.
Those are the callback functions and their basic usage.
Autres langues
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