summaryrefslogtreecommitdiff
path: root/render/draws/objects.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-03-13 20:55:59 +0800
committerEltrac <hi@guhub.cn>2025-03-13 20:55:59 +0800
commitc60db6bc43b2f2a81cc8f1086f1d70d5ce93508b (patch)
treebccc2973da4d7f0049f163b132222bb45778ed88 /render/draws/objects.lua
parentef200e9aaeff9d2a8194df3561ee3cf6996ea571 (diff)
feat(sprite): stun and sticky effects are demonstrated with an sprite
Diffstat (limited to 'render/draws/objects.lua')
-rw-r--r--render/draws/objects.lua19
1 files changed, 11 insertions, 8 deletions
diff --git a/render/draws/objects.lua b/render/draws/objects.lua
index 1e1ed46..0c95a0e 100644
--- a/render/draws/objects.lua
+++ b/render/draws/objects.lua
@@ -97,13 +97,6 @@ function draws.enemies()
for _, enemy in pairs(G.currentRoom.objects.enemies) do
local data = enemyData[enemy.type]
if data.sprite then
- -- add filter to indicate enemy status
- if enemy.stunned then
- love.graphics.setColor({1,0.7,0.5})
- elseif enemy.sticky then
- love.graphics.setColor({0.5,0.5,0.5})
- end
-
-- handle quad index
local index = data.sprite.frames[enemy:facing()][enemy.frameTimer.currentFrame]
if enemy.type == "pokob" then
@@ -118,11 +111,21 @@ function draws.enemies()
end
end
- -- draw sprite
+ -- arguments
local r = enemy.r
local graphicR = r * enemy.zoom
local x, y = enemy.x - r, enemy.y - r
+
+ -- draw sprite
sprite.drawQuad(data.sprite.name, index, x, y, graphicR, graphicR, 0)
+
+ -- draw effects
+ if enemy.sticky then
+ sprite.draw("spiderweb", x, y, 0, r*2, r*2)
+ elseif enemy.stunned then
+ sprite.draw("stunningstars", x, y, 0, r*2, r*2)
+ end
+
graphics.reset()
end
graphics.reset()