37 lines
958 B

  1. explosion = Class{}
  2. function explosion:init(x, y, v, color)
  3. self.color = color
  4. self.type = 0
  5. self.x = x
  6. self.y = y
  7. self.v = v
  8. self.range = 0
  9. self.killed = false
  10. --print(self.i)
  11. end
  12. function explosion:update(dt)
  13. self.range = self.range + dt * 24
  14. local maxRange = WINDOW_WIDTH*2
  15. if self.type == 1 then
  16. maxRange = WINDOW_WIDTH*6
  17. end
  18. if self.range * self.v > maxRange then
  19. --print("killing myself with range" .. self.range)
  20. self.killed = true
  21. end
  22. end
  23. function explosion:render(toggle)
  24. --print("rendering myself" .. self.x .. " " .. self.y .. " " .. self.range .. " " .. self.v)
  25. love.graphics.setColor(unpack(self.color))
  26. if toggle == "special" then
  27. love.graphics.setColor(1,1,1,0.7/(self.range/6))
  28. -- print(self.range)
  29. end
  30. love.graphics.circle("fill", self.x, self.y, self.range * self.v, 100)
  31. love.graphics.setColor(1,1,1,1)
  32. end