X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fscenes%2Fcredits.py;h=8a6cfc238510eddf4cd8573e1697becc2be3ac44;hb=c31d52d5fcb73427dcc99e1294d7a70acdd82190;hp=3f592df886d4e47cba49c431c61401e448aadc7f;hpb=0f233e6d450d863f06f5acddee3bd94f53594d08;p=naja.git diff --git a/naja/scenes/credits.py b/naja/scenes/credits.py index 3f592df..8a6cfc2 100644 --- a/naja/scenes/credits.py +++ b/naja/scenes/credits.py @@ -1,30 +1,76 @@ +# coding: UTF-8 """ -Main menu scene. +Credits scene. """ +import pygame import pygame.locals as pgl +from naja.constants import KEYS, FPS from naja.scenes.scene import Scene -from naja.widgets.text import TextWidget +from naja.utils import Flashlight +from naja.widgets.text import TextWidget, TextBoxWidget +from naja.widgets.image_box import ImageBox from naja.events import SceneChangeEvent + class CreditsScene(Scene): + """ + List those responsible. + """ + + def __init__(self, state): + super(CreditsScene, self).__init__(state) + self.flashlight = Flashlight(int(1.5 * FPS)) - base_menu = None + background = ImageBox( + (0, 0), "screens/splash.png") + self.add(background) + self.add(TextWidget( + (400, 300), 'CREDITS', colour='white', centre=True)) - def __init__(self): - super(CreditsScene, self).__init__() - self.widgets.append(TextWidget((60, 10), 'Credits', fontsize=32, - colour='white')) - self.widgets.append(TextWidget((60, 30), - 'Your mom\n' - 'A stranger', fontsize=32, - colour='white')) + self.credits = TextBoxWidget( + (400, 340), '\n'.join([ + 'A game about robots and bits and other things', + '', + 'by', + '', + u'Adrianna Pińska, David Sharpe, Jeremy Thurgood, ' + u'Neil Muller, Simon Cross & Stefano Rivera', + '', + 'Special thanks to:', + '', + 'Desilu Crossman', + 'for snacks and tutorial inspiration', + '', + 'Bearnard Hibbins, Graham Inggs,', + 'and William Stewart', + 'for playtesting and finding bugs', + '', + 'Music by Rolemusic:', + 'http://rolemusic.sawsquarenoise.com/', + '', + 'Out of credits. Insert coin.', + '(Press ESC to return to the menu.)', + ]), + colour='white', padding=1, + bg_colour=(0, 0, 0, 0), centre=True, + 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.KEYUP and ev.key in (pgl.K_q, pgl.K_ESCAPE): + 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: from naja.scenes.menu import MenuScene - menu_scene = MenuScene() - SceneChangeEvent.post(menu_scene) + SceneChangeEvent.post(MenuScene) return