annotate gamelib/endscreen.py @ 803:bcc9277a23e6 pyntnclick

Refactor widget positioning API. Remove unused widgets
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 27 Jan 2013 14:52:16 +0200
parents fdc63049b08c
children f95830b58336
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):
628
a3b82af01749 More get_image() fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 608
diff changeset
13 self._background = self.resource.get_image('won/won.png')
a3b82af01749 More get_image() fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 608
diff changeset
14 self.add_image_button((26, 500), 'won/menu.png', self.main_menu)
a3b82af01749 More get_image() fixes.
Jeremy Thurgood <firxen@gmail.com>
parents: 608
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
803
bcc9277a23e6 Refactor widget positioning API. Remove unused widgets
Stefano Rivera <stefano@rivera.za.net>
parents: 639
diff changeset
17 def add_image_button(self, pos, image_name, callback):
607
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
18 image = self.resource.get_image(image_name)
803
bcc9277a23e6 Refactor widget positioning API. Remove unused widgets
Stefano Rivera <stefano@rivera.za.net>
parents: 639
diff changeset
19 widget = ImageButtonWidget(pos, self.gd, image)
607
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):
608
a25cd1c6335a Pass screens through engine by name
Neil Muller <neil@dip.sun.ac.za>
parents: 607
diff changeset
27 self.change_screen('menu')
607
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
28
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
29 def quit(self, ev, widget):
f2b1ddcc4986 Make menu and endscreen work.
Jeremy Thurgood <firxen@gmail.com>
parents: 599
diff changeset
30 pygame.event.post(pygame.event.Event(QUIT))