environment.lua 1000 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. local love = require("compat")
  2. local MapSubject = {}
  3. MapSubject.__index = MapSubject
  4. local col_shadow = { 0, 0, 0, 100 }
  5. local shadowOffsetX = 50
  6. local shadowOffsetY = 50
  7. local shadowSize = 1
  8. function MapSubject:new(item, x, y)
  9. local o = {}
  10. setmetatable( o, MapSubject )
  11. o.x = x
  12. o.y = y
  13. o.color = {255, 255, 255, 255}
  14. --o.boundaryX
  15. o.r = math.random(0, math.pi*2) -- rotation
  16. o.body = images[item .. ".png"]
  17. o.castshadow = true
  18. o.shadow = images[item .. ".png"]
  19. o.name = item
  20. return o
  21. end
  22. function MapSubject:draw()
  23. -- first draw shadow
  24. if self.castshadow then
  25. love.graphics.setColor(col_shadow)
  26. love.graphics.draw(self.shadow, self.x+shadowOffsetX, self.y+shadowOffsetY, self.r, shadowSize, shadowSize, self.body:getWidth()/2, self.body:getHeight()/2, 0, 0)
  27. end
  28. love.graphics.setColor(self.color)
  29. love.graphics.draw(self.body, self.x, self.y, self.r, 1, 1, self.body:getWidth()/2, self.body:getHeight()/2, 0, 0)
  30. end
  31. function MapSubject:update( dt )
  32. end
  33. return MapSubject