From 6a4d90149f3d2854cd57b1b8e45db674c861c518 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Wed, 30 Oct 2024 19:54:06 +0100 Subject: [PATCH] feat(scene/world): add background color support --- framework/scenes/world/init.lua | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/framework/scenes/world/init.lua b/framework/scenes/world/init.lua index 55fe311..4ea2fac 100644 --- a/framework/scenes/world/init.lua +++ b/framework/scenes/world/init.lua @@ -50,6 +50,7 @@ function World:new(datas) end self:_initMap(map) + self:_initBackground(self.def.background or {}) self.actors = {} self.bodies = Bump3D.newWorld(50) @@ -77,6 +78,7 @@ function World:update(dt) end function World:draw() + self:_drawBackground() self.camera:attachView() self:drawLowerLayers() self:drawShapes() @@ -310,4 +312,26 @@ function World:drawShapes() end end +-- BACKGROUND +-- Default color behind the world + +function World:_initBackground(background) + self.background = {r = background.r or 0, g = background.g or 0, b = background.b or 0} +end + +function World:_drawBackground() + local r, g, b = love.graphics.getColor() + + local background = self.background + if (self.map ~= nil) then + background.r, background.g, background.b = self.map:getBackgroundColor() + end + + love.graphics.setColor(background.r, background.g, background.b, 1) + local w, h = core.screen:getDimensions() + love.graphics.rectangle("fill", 0, 0, w, h) + + love.graphics.setColor(r, g, b, 1) +end + return World