Difference between revisions of "Tutorial:Callback Functions (Français)"
m (Update for new syntax) |
|||
Line 1: | Line 1: | ||
− | Les fonctions [[:Category:Callbacks|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. | + | Les fonctions [[:Category:Callbacks (Français)|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. |
− | ==[[love.load]]== | + | ==[[love.load (Français)|love.load]]== |
<source lang="lua"> | <source lang="lua"> | ||
function love.load() | function love.load() | ||
Line 11: | Line 11: | ||
end | end | ||
</source> | </source> | ||
− | 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 bien être faites n'importe où mais les faire à cette endroit signifie qu'elles ne sont | + | 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 bien être faites n'importe où mais les faire à cette endroit signifie qu'elles ne sont exécutées qu'une fois, ce qui économise beaucoup de ressources système. |
− | ==[[love.update]]== | + | ==[[love.update (Français)|love.update]]== |
<source lang="lua"> | <source lang="lua"> | ||
function love.update(dt) | function love.update(dt) | ||
Line 21: | Line 21: | ||
end | end | ||
</source> | </source> | ||
− | Cette fonction est appelée en permanence et sera probablement l'endroit où la plupart de vos calculs seront fait. 'dt' | + | Cette fonction est appelée en permanence et sera probablement l'endroit où la plupart de vos calculs seront fait. 'dt' signifie "[[love.timer.getDelta (Français)|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]]== | + | ==[[love.draw (Français)|love.draw]]== |
<source lang="lua"> | <source lang="lua"> | ||
function love.draw() | function love.draw() | ||
Line 30: | Line 30: | ||
end | end | ||
</source> | </source> | ||
− | <code>[[love.draw]]</code> est l'endroit pour tout ce qui concerne l'affichage ( | + | <code>[[love.draw (Français)|love.draw]]</code> est l'endroit pour tout ce qui concerne l'affichage (« draw » signifie tracer) et si vous appelez l'un des <code>[[love.graphics.draw (Français)|love.graphics.draw]]</code> en dehors de cette fonction elle n'aura pas d'effet. Cette fonction est aussi appelée en permanence alors gardez à l'esprit que si vous modifiez la police/couleur/mode/etc à la fin de la fonction, alors ca aura un effet sur les choses au début de la fonction. Par exemple: |
<source lang="lua"> | <source lang="lua"> | ||
function love.load() | function love.load() | ||
Line 43: | Line 43: | ||
</source> | </source> | ||
− | ==[[love.mousepressed]]== | + | ==[[love.mousepressed (Français)|love.mousepressed]]== |
− | {{newin|[[0.10.0]]|100|type=variant}} | + | {{newin (Français)|[[0.10.0]]|100|type=variant}} |
<source lang="lua"> | <source lang="lua"> | ||
function love.mousepressed(x, y, button,istouch) | function love.mousepressed(x, y, button,istouch) | ||
Line 53: | Line 53: | ||
end | end | ||
</source> | </source> | ||
− | Cette fonction est appelée chaque fois qu'un bouton de la souris est pressé et il reçoit le bouton et les coordonnées de l'endroit où il a été pressé. Le bouton peut être l'une de ces [[MouseConstant|constantes]]. Cette fonction va très bien avec <code>[[love.mousereleased]]</code>. | + | Cette fonction est appelée chaque fois qu'un bouton de la souris est pressé et il reçoit le bouton et les coordonnées de l'endroit où il a été pressé. Le bouton peut être l'une de ces [[MouseConstant (Français)|constantes]]. Cette fonction va très bien avec <code>[[love.mousereleased (Français)|love.mousereleased]]</code>. |
− | ==[[love.mousereleased]]== | + | ==[[love.mousereleased (Français)|love.mousereleased]]== |
− | {{newin|[[0.10.0]]|100|type=variant}} | + | {{newin (Français)|[[0.10.0]]|100|type=variant}} |
<source lang="lua"> | <source lang="lua"> | ||
function love.mousereleased(x, y, button, istouch) | function love.mousereleased(x, y, button, istouch) | ||
Line 64: | Line 64: | ||
end | end | ||
</source> | </source> | ||
− | Cette fonction est appelée chaque fois qu'un bouton de la souris est relâché et il reçoit le bouton et les coordonnées de l'endroit où il a été | + | Cette fonction est appelée chaque fois qu'un bouton de la souris est relâché et il reçoit le bouton et les coordonnées de l'endroit où il a été relâché. Vous pouvez avoir cette fonction avec ou sans <code>[[love.mousepressed (Français)|.mousepressed]]</code>, ces 2 fonctions ne sont absolument pas liées. |
− | ==[[love.keypressed]]== | + | ==[[love.keypressed (Français)|love.keypressed]]== |
<source lang="lua"> | <source lang="lua"> | ||
function love.keypressed(key, unicode) | function love.keypressed(key, unicode) | ||
Line 76: | Line 76: | ||
end | end | ||
</source> | </source> | ||
− | Cette fonction est appelée chaque fois qu'une touche du clavier est enfoncée et reçoit la touche (key) qui a été enfoncée. La touche peut être l'une de ces [[KeyConstant|constantes]]. Cette fonction va très bien avec <code>[[love.keyreleased]]</code>. | + | Cette fonction est appelée chaque fois qu'une touche du clavier est enfoncée et reçoit la touche (key) qui a été enfoncée. La touche peut être l'une de ces [[KeyConstant (Français)|constantes]]. Cette fonction va très bien avec <code>[[love.keyreleased (Français)|love.keyreleased]]</code>. |
− | ==[[love.keyreleased]]== | + | ==[[love.keyreleased (Français)|love.keyreleased]]== |
<source lang="lua"> | <source lang="lua"> | ||
function love.keyreleased(key, unicode) | function love.keyreleased(key, unicode) | ||
Line 88: | Line 88: | ||
end | end | ||
</source> | </source> | ||
− | Cette fonction est appelée chaque fois qu'une touche du clavier est relâchée et reçoit la touche (key) qui a été relâchée. Vous pouvez avoir cette fonction avec ou sans <code>[[love.keypressed]]</code>, elles ne sont absolument pas liées. | + | Cette fonction est appelée chaque fois qu'une touche du clavier est relâchée et reçoit la touche (key) qui a été relâchée. Vous pouvez avoir cette fonction avec ou sans <code>[[love.keypressed (Français)|love.keypressed]]</code>, elles ne sont absolument pas liées. |
− | ==[[love.focus]]== | + | ==[[love.focus (Français)|love.focus]]== |
<source lang="lua"> | <source lang="lua"> | ||
function love.focus(f) | function love.focus(f) | ||
Line 102: | Line 102: | ||
Cette fonction est appelée lorsque l'utilisateur clique hors ou dans la fenêtre LÖVE. Par exemple, s'il joue en mode fenêtré et qu'il clique sur son navigateur Internet, le jeu pourrait être notifié et automatiquement mettre en pause la partie. | Cette fonction est appelée lorsque l'utilisateur clique hors ou dans la fenêtre LÖVE. Par exemple, s'il joue en mode fenêtré et qu'il clique sur son navigateur Internet, le jeu pourrait être notifié et automatiquement mettre en pause la partie. | ||
− | ==[[love.quit]]== | + | ==[[love.quit (Français)|love.quit]]== |
<source lang="lua"> | <source lang="lua"> | ||
function love.quit() | function love.quit() | ||
Line 110: | Line 110: | ||
Cette fonction est appelée chaque fois que l'utilisateur clique sur le bouton de fermeture de fenêtre (souvent une croix). Par exemple, si l'utilisateur décide qu'il a fini de jouer, il peut cliquer sur le bouton Fermer. Puis, avant de se ferme, le jeu peut enregistrer son état. | Cette fonction est appelée chaque fois que l'utilisateur clique sur le bouton de fermeture de fenêtre (souvent une croix). Par exemple, si l'utilisateur décide qu'il a fini de jouer, il peut cliquer sur le bouton Fermer. Puis, avant de se ferme, le jeu peut enregistrer son état. | ||
− | Ce sont les fonctions | + | Ce sont les fonctions « callback » et de leur utilisation simple. |
[[Category:Tutorials (Français)]] | [[Category:Tutorials (Français)]] |
Revision as of 19:02, 21 August 2021
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 bien être faites n'importe où mais les faire à cette endroit signifie qu'elles ne sont exécutées qu'une fois, ce qui économise 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' signifie "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
est l'endroit pour tout ce qui concerne l'affichage (« draw » signifie tracer) et si vous appelez l'un des love.graphics.draw
en dehors de cette fonction elle n'aura pas d'effet. Cette fonction est aussi appelée en permanence alors gardez à l'esprit que si vous modifiez la police/couleur/mode/etc à la fin de la fonction, alors ca aura un effet sur les choses au début de la fonction. Par exemple:
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
Disponible depuis LÖVE 0.10.0 |
Ce-tte variant n'est pas supporté-e par des versions plus anciennes. |
function love.mousepressed(x, y, button,istouch)
if button == 1 then
imgx = x -- move image to where mouse clicked
imgy = y
end
end
Cette fonction est appelée chaque fois qu'un bouton de la souris est pressé et il reçoit le bouton et les coordonnées de l'endroit où il a été pressé. Le bouton peut être l'une de ces constantes. Cette fonction va très bien avec love.mousereleased
.
love.mousereleased
Disponible depuis LÖVE 0.10.0 |
Ce-tte variant n'est pas supporté-e par des versions plus anciennes. |
function love.mousereleased(x, y, button, istouch)
if button == 1 then
fireSlingshot(x,y) -- this totally awesome custom function is defined elsewhere
end
end
Cette fonction est appelée chaque fois qu'un bouton de la souris est relâché et il reçoit le bouton et les coordonnées de l'endroit où il a été relâché. Vous pouvez avoir cette fonction avec ou sans .mousepressed
, ces 2 fonctions ne sont absolument pas liées.
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
Cette fonction est appelée chaque fois qu'une touche du clavier est enfoncée et reçoit la touche (key) qui a été enfoncée. La touche peut être l'une de ces constantes. Cette fonction va très bien avec 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
Cette fonction est appelée chaque fois qu'une touche du clavier est relâchée et reçoit la touche (key) qui a été relâchée. Vous pouvez avoir cette fonction avec ou sans love.keypressed
, elles ne sont absolument pas liées.
love.focus
function love.focus(f)
if not f then
print("LOST FOCUS")
else
print("GAINED FOCUS")
end
end
Cette fonction est appelée lorsque l'utilisateur clique hors ou dans la fenêtre LÖVE. Par exemple, s'il joue en mode fenêtré et qu'il clique sur son navigateur Internet, le jeu pourrait être notifié et automatiquement mettre en pause la partie.
love.quit
function love.quit()
print("Thanks for playing! Come back soon!")
end
Cette fonction est appelée chaque fois que l'utilisateur clique sur le bouton de fermeture de fenêtre (souvent une croix). Par exemple, si l'utilisateur décide qu'il a fini de jouer, il peut cliquer sur le bouton Fermer. Puis, avant de se ferme, le jeu peut enregistrer son état.
Ce sont les fonctions « callback » et de leur utilisation simple.
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