From de86586e3957be9e0794698e86ce913adc91beea Mon Sep 17 00:00:00 2001 From: Aki Date: Tue, 5 Sep 2017 19:13:45 +0200 Subject: That background kept irritating me. Background now follows offset with ratio --- not/Decoration.lua | 9 +++++++++ not/World.lua | 11 ++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) (limited to 'not') diff --git a/not/Decoration.lua b/not/Decoration.lua index 97524f5..6068a61 100644 --- a/not/Decoration.lua +++ b/not/Decoration.lua @@ -21,4 +21,13 @@ function Decoration:setPosition (x, y) self.x, self.y = x, y end +-- TODO: Temporary wrapper for draw to keep background in place. +function Decoration:draw (offset_x, offset_y, scale) + if self.ratio ~= nil then + offset_x = offset_x * self.ratio + offset_y = offset_y * self.ratio + end + Decoration.__super.draw(self, offset_x, offset_y, scale) +end + return Decoration diff --git a/not/World.lua b/not/World.lua index b97a5b5..097b21a 100644 --- a/not/World.lua +++ b/not/World.lua @@ -61,9 +61,8 @@ function World:buildMap () end if op.background then local image = love.graphics.newImage(op.background) - local x = self.map.center.x - (image:getWidth() / 2) - local y = self.map.center.y - (image:getHeight() / 2) - self:createDecoration(x, y, op.background) -- TODO: Decoration does not allow Image instead of filePath! + local bg = self:createDecoration(0, 0, op.background) -- TODO: Decoration does not allow Image instead of filePath! + bg.ratio = op.ratio end end end @@ -102,7 +101,9 @@ function World:createNaut (x, y, name) end function World:createDecoration (x, y, sprite) - table.insert(self.Decorations, Decoration(x, y, self, sprite)) + local deco = Decoration(x, y, self, sprite) + table.insert(self.Decorations, deco) + return deco end function World:createEffect (name, x, y) @@ -175,7 +176,7 @@ end function World:update (dt) self.world:update(dt) self.camera:update(dt) - + if self.cloudGenerator then self.cloudGenerator:update(dt) end -- cgit v1.1