love.graphics.present (Français)

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é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 function.

Fonction

Synopsis

love.graphics.present( )

Arguments

Aucun.

Retourne

Rien.

Notes

  • Si love.window.setMode à 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 près, si 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 sounds...")  ; loadSounds()
	presentLoadingScreen(2/3, "Charge les niveaux...")  ; loadLevels()
end
function love.draw()
	drawLoadingScreen(3/3, "Chargement terminé !")
end

Voir également


Autres langues