diff options
Diffstat (limited to 'src/sliceitoff/menu/show.py')
-rw-r--r-- | src/sliceitoff/menu/show.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/sliceitoff/menu/show.py b/src/sliceitoff/menu/show.py new file mode 100644 index 0000000..5c122d8 --- /dev/null +++ b/src/sliceitoff/menu/show.py @@ -0,0 +1,24 @@ +""" menu.show - Sprite group that show sprites and skips if key is pressed """ +from .anykey import anykey +from .explodeout import ExplodeOutGroup + +class Show(ExplodeOutGroup): + """ To show some sprites and quit on any key """ + def __init__(self, sprites = None, active = True): + super().__init__(active = active) + self.add(sprites) + self.timeout = 15_000 + + def update(self, dt = 0, **kwargs): + """ First timeout then fadeout and then inactivity """ + if not super().update(dt = dt, **kwargs): + return + if anykey(): + self.do_fadeout() + if self.timeout <= 0: + self.do_fadeout() + self.timeout -= dt + + def sprites(self): + """ Return sprites only when active """ + return super().sprites() if self.active else [] |