menuloader.lua 948 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. MenuLoader = class()
  2. local g = love.graphics
  3. local w, h = g.width, g.height
  4. function MenuLoader:init()
  5. self.message = nil
  6. self.alpha = 0
  7. self.active = false
  8. end
  9. function MenuLoader:update()
  10. if not self.active then
  11. self.alpha = math.lerp(self.alpha, 0, 8 * tickRate)
  12. return
  13. end
  14. self.alpha = 1
  15. end
  16. function MenuLoader:draw()
  17. if self.alpha < .001 then return end
  18. local str = self.message .. '...'
  19. g.setFont('pixel', 8)
  20. g.setColor(0, 0, 0, self.alpha * 255)
  21. g.rectangleCenter('fill', w(.5), h(.5), g.getFont():getWidth(str) + 16, g.getFont():getHeight() + 16)
  22. g.setColor(255, 255, 255, self.alpha * 255)
  23. g.rectangleCenter('line', w(.5), h(.5), g.getFont():getWidth(str) + 16, g.getFont():getHeight() + 16)
  24. g.printCenter(str, w(.5), h(.5))
  25. end
  26. function MenuLoader:activate(message)
  27. self.message = message
  28. self.alpha = 0
  29. self.active = true
  30. end
  31. function MenuLoader:deactivate()
  32. self.active = false
  33. end