From 4fbbf73aeb39566f73d54e3d42670c7c258e2466 Mon Sep 17 00:00:00 2001 From: the lemons Date: Sun, 21 Aug 2022 20:37:53 -0500 Subject: everything so far basic mechanics and player control have been implemented, but they work very poorly at present. --- game.lua | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 game.lua (limited to 'game.lua') diff --git a/game.lua b/game.lua new file mode 100644 index 0000000..16b1e06 --- /dev/null +++ b/game.lua @@ -0,0 +1,43 @@ +local Obj = require 'Obj' + +local M = {} + +M.all_objects = {} + +M.Object = Obj:extend() +M.Object.z = 0 + +function M.Object:new(pos, rotation, scale) + self.pos = pos or {0, 0, 0} + self.rot = rotation or 0 + self.scale = scale or 1 + self:enable() +end + +function M.Object:enable() + M.all_objects[self] = true +end + +function M.Object:disable() + M.all_objects[self] = nil +end + +function M.Object:update() +end + +function M.Object:draw() + if self.sprite then + local x, y = unpack(self.pos) + local w, h = self.sprite:getDimensions() + ox = (w * self.scale) / 2 + oy = (h * self.scale) / 2 + love.graphics.draw( + self.sprite, x, y, self.rot, self.scale, self.scale, ox, oy) + end +end + +function M.Object:visible() + return not self.hidden +end + +return M -- cgit v1.2.3