summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-02-28 09:13:02 +0800
committerEltrac <hi@guhub.cn>2025-02-28 09:13:02 +0800
commit4b5b67470f1ac7d4e1edcac5e5ed9ed8b45eb04a (patch)
treec91dadccad19a340a63535961f88aee4cf5570e5 /render
parent6b293e32187292b0ac70e8ac87fba03daaf6ed32 (diff)
refactor: manage sprite resources only in sprite module
Diffstat (limited to 'render')
-rw-r--r--render/sprite.lua21
1 files changed, 18 insertions, 3 deletions
diff --git a/render/sprite.lua b/render/sprite.lua
index f8aedd6..b15b5bc 100644
--- a/render/sprite.lua
+++ b/render/sprite.lua
@@ -1,15 +1,28 @@
sprite = {}
+-- sprite resource management
+
+local sprites = {}
+local quads = {}
+
local spriteTypes = heartTypes
local spriteSheets = {
{ name = "apple", w = 32, h = 32 },
{ name = "lancer", w = 32, h = 32 },
}
-function sprite.load()
- sprites = {}
- quads = {}
+function sprite.get(type)
+ return sprites[type]
+end
+function sprite.getQuad(type, index)
+ if index then
+ return quads[type][index]
+ else return quads[type]
+ end
+end
+
+function sprite.load()
love.graphics.setDefaultFilter("nearest", "nearest")
-- load single-image sprite
@@ -43,6 +56,8 @@ function sprite.load()
end
end
+-- sprite drawer
+
function sprite.draw(type, x, y, angle, width, height)
local sprite = sprites[type]
love.graphics.draw(sprite, x, y, angle,