game/gui: fix progressbar
This commit is contained in:
parent
bb0f452b83
commit
f04d40418a
|
@ -90,7 +90,7 @@ function gui.newProgressBar(sprite, outerfont, innerfont, label, width)
|
|||
end
|
||||
|
||||
function ProgressBar:new(sprite, outerfont, innerfont, label, width)
|
||||
local filepath = "assets/gui/progressbar/"
|
||||
local filepath = "assets/sprites/gui/progressbar/"
|
||||
self.image = love.graphics.newImage(filepath .. sprite .. ".png")
|
||||
local backimg = love.graphics.newImage(filepath .. "backbar.png")
|
||||
self.quad = {}
|
||||
|
@ -103,19 +103,18 @@ function ProgressBar:new(sprite, outerfont, innerfont, label, width)
|
|||
self.outerfont = outerfont
|
||||
self.innerfont = innerfont
|
||||
|
||||
self.frontcanvas = love.graphics.newCanvas(width, 12)
|
||||
self.backcanvas = love.graphics.newCanvas(ox + width, 12)
|
||||
self.ox = self.outerfont:getWidth(label) + 2
|
||||
|
||||
self.ox = self.outerfount:getWidth("label")
|
||||
self.frontcanvas = love.graphics.newCanvas(width, 12)
|
||||
self.backcanvas = love.graphics.newCanvas(self.ox + width, 12)
|
||||
|
||||
-- On commence par préparer le canvas avant, qui sera utilisé pour dessiner
|
||||
-- la partie coloré de la barre de progres
|
||||
love.graphics.setCanvas( self.frontcanvas )
|
||||
|
||||
for i=1, (width-4) do
|
||||
if (i == 1) then
|
||||
love.graphics.draw(self.image, self.quad[2], i + 1, 0)
|
||||
end
|
||||
|
||||
for i=1, (self.width-4) do
|
||||
love.graphics.draw(self.image, self.quad[2], i + 1, 0)
|
||||
end
|
||||
|
||||
love.graphics.draw(self.image, self.quad[1], 0, 0)
|
||||
|
@ -125,25 +124,23 @@ function ProgressBar:new(sprite, outerfont, innerfont, label, width)
|
|||
love.graphics.setCanvas( self.backcanvas )
|
||||
|
||||
for i=1, (width-4) do
|
||||
if (i == 1) then
|
||||
love.graphics.draw(backimg, self.quad[2], self.ox + i + 1, 0)
|
||||
end
|
||||
love.graphics.draw(backimg, self.quad[2], self.ox + i + 1, 0)
|
||||
end
|
||||
|
||||
love.graphics.draw(backimg, self.quad[1], self.ox, 0)
|
||||
love.graphics.draw(backimg, self.quad[3], self.ox + width - 2, 0)
|
||||
|
||||
self.outerfont:set()
|
||||
love.graphics.printf(label, self.ox, 7, self.ox, "right")
|
||||
love.graphics.printf(label, 0, -1, self.ox, "left")
|
||||
|
||||
love.graphics.setCanvas( )
|
||||
|
||||
end
|
||||
|
||||
function ProgressBar:draw(x, y, stat, innerlabel)
|
||||
love.graphics.draw(self.frontcanvas, x - self.ox, y)
|
||||
love.graphics.setScissor(x, y, self.width * stat, 12)
|
||||
love.graphics.draw(self.backcanvas, x - self.ox, y)
|
||||
love.graphics.setScissor(x, y, self.width * stat, 12)
|
||||
love.graphics.draw(self.frontcanvas, x, y)
|
||||
love.graphics.setScissor()
|
||||
end
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ function PlayerManager:new(scene)
|
|||
local mediumfont, smallfont
|
||||
mediumfont = self.scene.assets.fonts["medium"]
|
||||
smallfont = self.scene.assets.fonts["small"]
|
||||
self.hpbar = game.gui.newProgressBar("greenbar", mediumfont, smallfont, "HP ", 96)
|
||||
self.mpbar = game.gui.newProgressBar("bluebar", mediumfont, smallfont, "MP ", 96)
|
||||
self.hpbar = game.gui.newProgressBar("greenbar", mediumfont, smallfont, "HP", 96)
|
||||
self.mpbar = game.gui.newProgressBar("bluebar", mediumfont, smallfont, "MP", 96)
|
||||
|
||||
self.itembox = game.gui.newTextBox("assets/sprites/gui/textbox/yellowbox.png", 24,24)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue