Python RGB Matrix games and animations https://www.xythobuz.de/ledmatrix_v2.html
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

manager.py 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/env python
  2. import time
  3. class Manager:
  4. def __init__(self, g):
  5. self.gui = g
  6. self.screens = []
  7. self.index = 0
  8. self.lastTime = time.time()
  9. def add(self, s, d = None):
  10. v = (s, d)
  11. self.screens.append(v)
  12. def loop(self):
  13. self.screens[self.index][0].draw()
  14. if self.screens[self.index][1] == None:
  15. if self.screens[self.index][0].finished():
  16. self.index = (self.index + 1) % len(self.screens)
  17. self.lastTime = time.time()
  18. self.screens[self.index][0].restart()
  19. else:
  20. # use given timeout
  21. if (time.time() - self.lastTime) > self.screens[self.index][1]:
  22. self.index = (self.index + 1) % len(self.screens)
  23. self.lastTime = time.time()
  24. self.screens[self.index][0].restart()
  25. if __name__ == "__main__":
  26. from test import TestGUI
  27. from splash import SplashScreen
  28. #from weather import WeatherScreen
  29. from draw import ScrollText
  30. from solid import Solid
  31. t = TestGUI(32, 32)
  32. m = Manager(t)
  33. m.add(SplashScreen(t), 2)
  34. m.add(Solid(t, 3.0))
  35. #m.add(WeatherScreen(t), 4)
  36. #m.add(Solid(t, 3.0))
  37. m.add(ScrollText(t, "This appears once"))
  38. m.add(Solid(t, 3.0))
  39. m.add(ScrollText(t, "And this twice...", 2))
  40. m.add(Solid(t, 3.0))
  41. t.debug_loop(m.loop)