Mercurial > mamba
changeset 504:c85b4affd80f
Hook up credits.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sat, 17 Sep 2011 23:58:21 +0200 |
parents | f4b53c56757a |
children | b459652f8c27 |
files | mamba/habitats/credits.py mamba/habitats/mainmenu.py |
diffstat | 2 files changed, 42 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mamba/habitats/credits.py Sat Sep 17 23:58:21 2011 +0200 @@ -0,0 +1,40 @@ +"""Credits""" + +import pygame +from pygame.locals import KEYDOWN +import pygame.event + +from mamba.data import load_image +from mamba.constants import ESCAPE_KEYS +from mamba.engine import Habitat, NewHabitatEvent +from mamba.widgets.overlay import OverlayButton + + +class CreditsHabitat(Habitat): + def __init__(self): + super(CreditsHabitat, self).__init__() + + self.bg_image = load_image('menus/credits.png') + self.add_box((12, 11), (142, 41), 'back', self.back_event) + self.container.add_callback(KEYDOWN, self.keydown_event) + + def draw_background(self): + self.surface.blit(self.bg_image, self.surface.get_rect()) + + def add_box(self, pos, size, overlay_name, clicked): + image = load_image('menus/submenu-%s.png' % overlay_name) + box = OverlayButton(pygame.Rect(pos, size), image) + box.add_callback('clicked', clicked) + self.container.add(box) + return box + + def back_event(self, ev, widget): + from mamba.habitats.mainmenu import MainMenu + NewHabitatEvent.post(MainMenu()) + return True + + def keydown_event(self, ev, widget): + if ev.key in ESCAPE_KEYS: + from mamba.habitats.mainmenu import MainMenu + NewHabitatEvent.post(MainMenu()) + return True
--- a/mamba/habitats/mainmenu.py Sat Sep 17 23:46:05 2011 +0200 +++ b/mamba/habitats/mainmenu.py Sat Sep 17 23:58:21 2011 +0200 @@ -61,7 +61,8 @@ return True def credits_event(self, ev, widget): - raise NotImplementedError("Shout at Adrianna") + from mamba.habitats.credits import CreditsHabitat + NewHabitatEvent.post(CreditsHabitat()) return True def keydown_event(self, ev, widget):