Credits scene.
"""
+import pygame
import pygame.locals as pgl
-from naja.constants import KEYS
+from naja.constants import KEYS, FPS
from naja.scenes.scene import Scene
+from naja.utils import Flashlight
from naja.widgets.text import TextWidget, TextBoxWidget
from naja.widgets.image_box import ImageBox
from naja.events import SceneChangeEvent
def __init__(self, state):
super(CreditsScene, self).__init__(state)
+ self.flashlight = Flashlight(int(1.5 * FPS))
background = ImageBox(
(0, 0), "screens/splash.png")
self.add(TextWidget(
(400, 300), 'CREDITS', colour='white', centre=True))
- self.add(TextBoxWidget(
+ self.credits = TextBoxWidget(
(400, 340), '\n'.join([
'A game about robots and bits and other things',
'',
]),
colour='white', padding=1,
bg_colour=(0, 0, 0, 0), centre=True,
- box_width=780, view_port=(780, 250)))
+ box_width=780, view_port=(780, 250))
+ self.add(self.credits)
+
+ def render_scene(self, surface):
+ if self.flashlight is not None:
+ if self.flashlight.tick():
+ fake_event = pygame.event.Event(pgl.KEYDOWN, key=pgl.K_DOWN)
+ self.credits.handle_event(fake_event)
+
+ def handle_event(self, ev):
+ if ev.type == pgl.KEYDOWN:
+ self.flashlight = None
+ return super(CreditsScene, self).handle_event(ev)
def handle_scene_event(self, ev):
if ev.type == pgl.KEYDOWN and ev.key in KEYS.QUIT: