sprite.lua 766 B

1234567891011121314151617181920212223242526272829303132333435
  1. local class = require("30log")
  2. local Sprite = class"Sprite"
  3. function Sprite:init(sprite, x, y)
  4. local sprite_type = type(sprite)
  5. if sprite_type == "string" then
  6. self.sprite = love.graphics.newImage(sprite)
  7. elseif sprite_type == "userdata" then
  8. self.sprite = sprite
  9. else
  10. self.sprite = nil
  11. end
  12. if self.sprite then
  13. self.sprite:setFilter("nearest")
  14. end
  15. self.x = x or 0
  16. self.y = y or 0
  17. self.sx=2
  18. self.sy=2
  19. self.dx=0
  20. self.dy=0
  21. end
  22. function Sprite:update(dt)
  23. self.x = self.x + self.dx * dt
  24. self.y = self.y + self.dy * dt
  25. end
  26. function Sprite:draw()
  27. if not self.sprite then return end
  28. love.graphics.draw(self.sprite, self.x, self.y, 0, self.sx, self.sy)
  29. end
  30. return Sprite