diff options
Diffstat (limited to 'src/sliceitoff/game/show.py')
-rw-r--r-- | src/sliceitoff/game/show.py | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/src/sliceitoff/game/show.py b/src/sliceitoff/game/show.py index 0fb6e05..eaf3658 100644 --- a/src/sliceitoff/game/show.py +++ b/src/sliceitoff/game/show.py @@ -1,32 +1,23 @@ """ Sprite group that show sprites and skips if key is pressed """ -import pygame from .anykey import anykey +from .explodeout import ExplodeOutGroup -class Show(pygame.sprite.Group): +class Show(ExplodeOutGroup): """ To show some sprites and quit on any key """ def __init__(self, sprites = None, active = True): - super().__init__() + super().__init__(active = active) self.add(sprites) - self.active = active - self.explode = False - self.fadeout = 1_000 self.timeout = 15_000 def update(self, dt = 0, **kwargs): """ First timeout then fadeout and then inactivity """ - if self.fadeout <= 0: - self.active = False - elif self.timeout <= 0: - if anykey(): - self.fadeout = 0 - self.fadeout -= dt - self.explode = True - else: - if anykey(): - self.timeout = 0 - self.timeout -= dt - for sprite in self.sprites(): - sprite.update(dt = dt, explode = self.explode, **kwargs) + 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 """ |