summaryrefslogtreecommitdiff
path: root/render/draws/objects.lua
diff options
context:
space:
mode:
authorEltrac <hi@guhub.cn>2025-03-13 10:55:24 +0800
committerEltrac <hi@guhub.cn>2025-03-13 10:55:24 +0800
commitaa3d4e377fddf077e2b8cc77f17c1eefd5f97b5e (patch)
treef13c7b5caedb666c696e3cf91a1b36295b85f0c6 /render/draws/objects.lua
parent7a48e0303241ff30572028d3c8cc303c09b04fa3 (diff)
refactor: remove body:draw method
Diffstat (limited to 'render/draws/objects.lua')
-rw-r--r--render/draws/objects.lua32
1 files changed, 16 insertions, 16 deletions
diff --git a/render/draws/objects.lua b/render/draws/objects.lua
index eb474a4..aa948d6 100644
--- a/render/draws/objects.lua
+++ b/render/draws/objects.lua
@@ -1,4 +1,5 @@
local enemyData = require "data.enemyData"
+local graphics = require "utils.graphics"
require "data.directions"
local draws = {}
@@ -19,14 +20,17 @@ function draws.player()
index = moving[G.player.facing][cf]
end
- G.player.body:drawQuad("apple", index, G.player.x, G.player.y)
- utils.resetGraphics()
+ local r = G.player.body.r
+ local graphicR = r * G.player.body.zoom
+ local x, y = G.player.x - r, G.player.y - r
+ sprite.drawQuad("apple", index, x, y, graphicR, graphicR, 0)
+ graphics.reset()
end
function draws.bullets()
for k, bullet in pairs(G.currentRoom.objects.shots) do
local x, y, angle = bullet.x, bullet.y, bullet.orientation
- bullet.body:drawSprite(bullet.type, x, y, angle, config.bulletSize)
+ sprite.draw(bullet.type, x, y, angle, config.bulletSize, config.bulletSize)
end
end
@@ -35,11 +39,7 @@ function draws.enemies()
local data = enemyData[enemy.type]
if data.sprite then
-- show enemy size
- if config.debug then
- love.graphics.setColor({0.5,0.5,0.5})
- enemy.body:draw(enemy.x, enemy.y)
- utils.resetGraphics()
- end
+
-- add filter to indicate enemy status
if enemy.stunned then
@@ -50,13 +50,13 @@ function draws.enemies()
-- draw sprite
local index = data.sprite.frames[enemy:facing()][enemy.frameTimer.currentFrame]
- enemy.body:drawQuad(data.sprite.name, index, enemy.x, enemy.y, nil, data.sprite.zoom)
- utils.resetGraphics()
- elseif data.appearance.color then
- love.graphics.setColor(data.appearance.color or {1,1,1})
- enemy.body:draw(enemy.x, enemy.y)
+ local r = enemy.body.r
+ local graphicR = r * enemy.body.zoom
+ local x, y = enemy.x - r, enemy.y - r
+ sprite.drawQuad(data.sprite.name, index, x, y, graphicR, graphicR, 0)
+ graphics.reset()
end
- utils.resetGraphics()
+ graphics.reset()
end
end
@@ -70,8 +70,8 @@ function draws.obstacles()
for _, obstacle in ipairs(G.currentRoom.objects.obstacles) do
if obstacle ~= nil then
love.graphics.setColor(0.85,0.85,0.85)
- obstacle.body:draw(obstacle.x, obstacle.y)
- utils.resetGraphics()
+ graphics.drawRect(obstacle)
+ graphics.reset()
end
end
end