summaryrefslogtreecommitdiff
path: root/render/sprite.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-02-16 10:17:45 +0800
committerEltrac <hi@guhub.cn>2025-02-16 10:17:45 +0800
commit0787f42e906a34a1f0ebb1ddcef3a239a8b2b636 (patch)
treec468e4fbaac7b1ecf43f880be714b17670c4b2d8 /render/sprite.lua
parentae1e7c52525d364ba0ef8fe4ed73bdf45c3f2bd1 (diff)
refactor: project structure
Diffstat (limited to 'render/sprite.lua')
-rw-r--r--render/sprite.lua53
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