Difference between revisions of "Tutorial:Callback Functions (Français)"

(translation)
(translation)
Line 52: Line 52:
 
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 des [[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|constantes]]. Cette fonction va très bien avec <code>[[love.mousereleased]]</code>.  
  
 
==[[love.mousereleased]]==
 
==[[love.mousereleased]]==
Line 62: Line 62:
 
end
 
end
 
</source>
 
</source>
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 <code>[[love.mousepressed]]</code> or separate, they aren't connected in any way.
+
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é relaché. Vous pouvez avoir cette fonction avec ou sans <code>[[love.mousepressed]]</code>, ces 2 fonctions ne sont absolument pas liées.  
 
 
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é libéré. Vous pouvez avoir cette fonction avec ou sans <code>[[love.mousepressed]]</code>, ces 2 fonctions ne sont absolument pas liées.  
 
  
 
==[[love.keypressed]]==
 
==[[love.keypressed]]==
Line 76: Line 74:
 
end
 
end
 
</source>
 
</source>
This function is called whenever a keyboard key is pressed and receives the key that was pressed. The key can be any of the [[KeyConstant|constants]]. This functions goes very well along with <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) enfoncée. La touche peut être l'une de ces [[KeyConstant|constantes]]. Cette fonction va très bien avec <code[[love.keyreleased]]</code>.  
  
 
==[[love.keyreleased]]==
 
==[[love.keyreleased]]==
Line 88: Line 86:
 
end
 
end
 
</source>
 
</source>
This function is called whenever a keyboard key is released and receives the key that was released. You can have this function together with <code>[[love.keypressed]]</code> or separate, they aren't connected in any way.  
+
Cette fonction est appelée chaque fois qu'une touche du clavier est relâchée et reçoit la touche (key) relâchée. Vous pouvez avoir cette fonction avec ou sans <code>[[love.keypressed]]</code>, elles ne sont absolument pas liées.
  
Those are the callback functions and their basic usage.
+
Ce sont les fonctions "callback" et de leur utilisation simple.  
  
 
[[Category:Tutorials (Français)]]
 
[[Category:Tutorials (Français)]]

Revision as of 20:06, 4 April 2011

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.

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 est l'endroit pour tout ce qui concerne l'affichage ("draw" veux dire dessiner) 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

function love.mousepressed(x, y, button)
   if button == 'l' 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

function love.mousereleased(x, y, button)
   if button == 'l' 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é relaché. Vous pouvez avoir cette fonction avec ou sans love.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) enfoncée. La touche peut être l'une de ces constantes. Cette fonction va très bien avec <codelove.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) relâchée. Vous pouvez avoir cette fonction avec ou sans love.keypressed, elles ne sont absolument pas liées.

Ce sont les fonctions "callback" et de leur utilisation simple.



Autres langues