annotate gamelib/endscreen.py @ 607:f2b1ddcc4986 pyntnclick

Make menu and endscreen work.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 11 Feb 2012 20:34:23 +0200
parents 2d2ea51b73ad
children a25cd1c6335a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
443
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
1 # endscreen.py
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
2 # Copyright Boomslang team, 2010 (see COPYING File)
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
3 # Victory screen for the game
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
4
607
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
5 import pygame.event
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
6 from pygame.locals import QUIT
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
7 from pyntnclick.engine import Screen
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
8 from pyntnclick.widgets.imagebutton import ImageButtonWidget
450
ece69836f00a Image buttons for game over screen
Neil Muller <neil@dip.sun.ac.za>
parents: 443
diff changeset
9
443
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
10
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
11 class EndScreen(Screen):
607
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
12 def setup(self):
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
13 self._background = self.resource.get_image(('won', 'won.png'))
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
14 self.add_image_button((26, 500), ('won', 'menu.png'), self.main_menu)
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
15 self.add_image_button((250, 500), ('won', 'quit.png'), self.quit)
443
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
16
607
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
17 def add_image_button(self, rect, image_name, callback):
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
18 image = self.resource.get_image(image_name)
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
19 widget = ImageButtonWidget(rect, image)
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
20 widget.add_callback('clicked', callback)
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
21 self.container.add(widget)
443
3dab4984cbd7 Redo way of reaching end screen
Neil Muller <neil@dip.sun.ac.za>
parents:
diff changeset
22
607
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
23 def draw_background(self):
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
24 self.surface.blit(self._background, self.surface.get_rect())
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
25
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
26 def main_menu(self, ev, widget):
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
27 from gamelib.menu import MenuScreen
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
28 self.change_screen(MenuScreen(self.game_description))
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
29
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
30 def quit(self, ev, widget):
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
31 pygame.event.post(pygame.event.Event(QUIT))