diff options
| author | Eltrac <hi@guhub.cn> | 2025-02-16 10:17:45 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2025-02-16 10:17:45 +0800 |
| commit | 0787f42e906a34a1f0ebb1ddcef3a239a8b2b636 (patch) | |
| tree | c468e4fbaac7b1ecf43f880be714b17670c4b2d8 /render/sprite.lua | |
| parent | ae1e7c52525d364ba0ef8fe4ed73bdf45c3f2bd1 (diff) | |
refactor: project structure
Diffstat (limited to 'render/sprite.lua')
| -rw-r--r-- | render/sprite.lua | 53 |
1 files changed, 53 insertions, 0 deletions
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 |
