diff options
| author | Eltrac <hi@guhub.cn> | 2025-02-20 16:52:10 +0800 |
|---|---|---|
| committer | Eltrac <hi@guhub.cn> | 2025-02-20 16:52:10 +0800 |
| commit | b0a904cd4982102bde77ba6a819274d84a604f9c (patch) | |
| tree | 7bc1a766bb8c93f2fb87fc12a15b89d7fa5395f5 /objects/Body.lua | |
| parent | 6fac71363024403c8bc5e92d286153dbe48b389a (diff) | |
refactor: draw sprite according to body
Diffstat (limited to 'objects/Body.lua')
| -rw-r--r-- | objects/Body.lua | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/objects/Body.lua b/objects/Body.lua index 72dbbe5..aa5bd75 100644 --- a/objects/Body.lua +++ b/objects/Body.lua @@ -40,10 +40,18 @@ end function Body:draw(x, y) if self.shape == "circle" then - -- 绘制圆形 love.graphics.circle("fill", x, y, self.r) elseif self.shape == "rectangle" then - -- 绘制矩形 love.graphics.rectangle("fill", x - self.w / 2, y - self.h / 2, self.w, self.h) end end + +function Body:drawSprite(spriteName, x, y, angle) + local sprite = sprites[spriteName] + local w, h = (self.shape == "circle" and self.r or self.w), (self.shape == "circle" and self.r or self.h) + + love.graphics.draw(sprite, x, y, angle, + w / sprite:getWidth(), + h / sprite:getHeight() + ) +end |
