summaryrefslogtreecommitdiffhomepage
path: root/not/Decoration.lua
diff options
context:
space:
mode:
Diffstat (limited to 'not/Decoration.lua')
-rw-r--r--not/Decoration.lua34
1 files changed, 34 insertions, 0 deletions
diff --git a/not/Decoration.lua b/not/Decoration.lua
new file mode 100644
index 0000000..7f020e1
--- /dev/null
+++ b/not/Decoration.lua
@@ -0,0 +1,34 @@
+require "not.Sprite"
+Decoration = {
+ world = nil,
+ sprite = nil,
+ x = 0,
+ y = 0
+}
+Decoration.__index = Decoration
+setmetatable(Decoration, Sprite)
+function Decoration:new(x, y, sprite)
+ local o = {}
+ setmetatable(o, self)
+ o:setImage(love.graphics.newImage(sprite))
+ o:setPosition(x,y)
+ return o
+end
+function Decoration:setPosition(x, y)
+ self.x, self.y = x, y
+end
+function Decoration:getPosition()
+ return self.x, self.y
+end
+function Decoration:draw(offset_x, offset_y, scale)
+ -- locals
+ local offset_x = offset_x or 0
+ local offset_y = offset_y or 0
+ local scale = scale or 1
+ local x, y = self:getPosition()
+ -- pixel grid
+ local draw_x = (math.floor(x) + offset_x) * scale
+ local draw_y = (math.floor(y) + offset_y) * scale
+ -- draw
+ Sprite.draw(self, draw_x, draw_y, 0, scale, scale)
+end \ No newline at end of file