diff options
-rw-r--r-- | not/Decoration.lua | 9 | ||||
-rw-r--r-- | not/World.lua | 11 |
2 files changed, 15 insertions, 5 deletions
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 |