Difference between revisions of "love.graphics.present (Français)"

(Created page with "Affiche à l'écran les résultats d'opération de tracé. Cette fonction est utilisé lorsque vous écrivez votre propre fonction love.run. Elle pr...")
 
 
Line 1: Line 1:
Affiche à l'écran les résultats d'opération de tracé.
+
Affiche à l'écran le résultat des opérations de tracé.
  
Cette fonction est utilisé lorsque vous écrivez votre propre fonction [[love.run (Français)|love.run]]. Elle présente à l'écran tous les résultats de vos opérations de tracé. Voir l'exemple dans [[love.run (Français)|love.run]] pour une utilisation typique de cette function.
+
Cette fonction est utilisée lorsque vous écrivez votre propre fonction [[love.run (Français)|love.run]]. Elle présente à l'écran tous les résultats de vos opérations de tracé. Voir l'exemple dans [[love.run (Français)|love.run]] pour une utilisation typique de cette fonction.
  
 
== Fonction ==
 
== Fonction ==
Line 16: Line 16:
  
 
== Notes ==
 
== Notes ==
* Si [[love.window.setMode (Français)|love.window.setMode]] à <code>vsync</code> égal à <code>true</code> (vrai), cette fonction ne peut être exécutée plus fréquemment que le taux de rafraîchissement (typiquement 60 Hz), et arrêtera le programme jusqu'à ce que près, si nécessaire.
+
* Si [[love.window.setMode (Français)|love.window.setMode]] a <code>vsync</code> égal à <code>true</code> (vrai), cette fonction ne peut être exécutée plus fréquemment que le taux de rafraîchissement (typiquement 60 Hz), et arrêtera le programme jusqu'à ce que ce soit de nouveau nécessaire.
  
 
== Exemples ==
 
== Exemples ==
Line 63: Line 63:
 
function love.load()
 
function love.load()
 
presentLoadingScreen(0/3, "Charge les sprites...") ; loadSprites()
 
presentLoadingScreen(0/3, "Charge les sprites...") ; loadSprites()
presentLoadingScreen(1/3, "Charge les sounds...")  ; loadSounds()
+
presentLoadingScreen(1/3, "Charge les sons...")  ; loadSounds()
 
presentLoadingScreen(2/3, "Charge les niveaux...")  ; loadLevels()
 
presentLoadingScreen(2/3, "Charge les niveaux...")  ; loadLevels()
 
end
 
end
Line 76: Line 76:
 
[[Category:Functions (Français)]]
 
[[Category:Functions (Français)]]
 
[[Sub-Category::Drawing (Français)| ]]
 
[[Sub-Category::Drawing (Français)| ]]
{{#set:Description=Affiche à l'écran les résultats d'opération de tracé.}}
+
{{#set:Description=Affiche à l'écran le résultat des opérations de tracé.}}
 
{{#set:Since=000}}
 
{{#set:Since=000}}
 
== Autres langues ==
 
== Autres langues ==
 
{{i18n|love.graphics.present}}
 
{{i18n|love.graphics.present}}

Latest revision as of 21:19, 9 March 2022

Affiche à l'écran le résultat des opérations de tracé.

Cette fonction est utilisée lorsque vous écrivez votre propre fonction love.run. Elle présente à l'écran tous les résultats de vos opérations de tracé. Voir l'exemple dans love.run pour une utilisation typique de cette fonction.

Fonction

Synopsis

love.graphics.present( )

Arguments

Aucun.

Retourne

Rien.

Notes

  • Si love.window.setMode a vsync égal à true (vrai), cette fonction ne peut être exécutée plus fréquemment que le taux de rafraîchissement (typiquement 60 Hz), et arrêtera le programme jusqu'à ce que ce soit de nouveau nécessaire.

Exemples

Affiche une barre de progrès pendant le chargement du jeu

-- Fonction vides pour l'exemple.
local function loadSounds()  love.timer.sleep(1) end
local function loadSprites() love.timer.sleep(1) end
local function loadLevels()  love.timer.sleep(1) end

local font = nil

local function drawLoadingScreen(progress, text)
	local windowWidth, windowHeight = love.graphics.getDimensions()

	-- Trace le texte.
	font = font or love.graphics.newFont(26)

	local textX = math.floor((windowWidth - font:getWidth(text)) / 2)
	local textY = math.floor(windowHeight/2) - font:getHeight()

	love.graphics.setColor(1, 1, 1)
	love.graphics.setFont(font)
	love.graphics.print(text, textX, textY)

	-- Trace la barre de progression.
	local progressWidthFull    = 400
	local progressWidthCurrent = progress * progressWidthFull
	local progressHeight       = 20
	local progressX            = math.floor((windowWidth - progressWidthFull) / 2)
	local progressY            = math.floor(windowHeight/2)

	love.graphics.setColor(.2, .2, .2)
	love.graphics.rectangle("fill", progressX, progressY, progressWidthFull, progressHeight)
	love.graphics.setColor(.1, .3, 1)
	love.graphics.rectangle("fill", progressX, progressY, progressWidthCurrent, progressHeight)
end

local function presentLoadingScreen(progress, text)
	love.graphics.clear()
	drawLoadingScreen(progress, text)
	love.graphics.present()
end

function love.load()
	presentLoadingScreen(0/3, "Charge les sprites...") ; loadSprites()
	presentLoadingScreen(1/3, "Charge les sons...")  ; loadSounds()
	presentLoadingScreen(2/3, "Charge les niveaux...")  ; loadLevels()
end
function love.draw()
	drawLoadingScreen(3/3, "Chargement terminé !")
end

Voir également


Autres langues