From 0787f42e906a34a1f0ebb1ddcef3a239a8b2b636 Mon Sep 17 00:00:00 2001 From: Eltrac Date: Sun, 16 Feb 2025 10:17:45 +0800 Subject: refactor: project structure --- render/sprite.lua | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 render/sprite.lua (limited to 'render/sprite.lua') diff --git a/render/sprite.lua b/render/sprite.lua new file mode 100644 index 0000000..6cbf20c --- /dev/null +++ b/render/sprite.lua @@ -0,0 +1,53 @@ +local sprite = {} + +heartTypes = { + "arrowheart", + "bigheart", + "blockheart", + "blueheart", + "brokenheart", + "brownheart", + "giftheart", + "greenheart", + "mendingheart", + "purpleheart", + "radiantheart", + "redheart", + "shinyheart", + "twinheart", + "whiteheart", + "yellowheart" +} + +spriteTypes = heartTypes + +function sprite.load() + sprites = {} + + for _, sprite in pairs(spriteTypes) do + local filename = "resources/sprites/" .. sprite .. ".png" + sprites[sprite] = love.graphics.newImage(filename) + end +end + +function sprite.draw(type, x, y, angle, width, height) + local sprite = sprites[type] + love.graphics.draw(sprite, x, y, angle, + width / sprite:getWidth(), + height / sprite:getHeight() + ) +end + +function sprite.drawObject(type, position, angle, width, height) + sprite.draw(type, position.x, position.y, angle, width, height) +end + +function sprite.drawSquare(type, position, size) + sprite.drawObject(type, position, 0, size, size) +end + +function sprite.drawSquareWithAngle(type, position, angle, size) + sprite.drawObject(type, position, angle, size, size) +end + +return sprite -- cgit v1.2.3