Mercurial > pyntnclick
comparison gamelib/menu.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 | 5d62644288eb |
children | a25cd1c6335a |
comparison
equal
deleted
inserted
replaced
606:5d62644288eb | 607:f2b1ddcc4986 |
---|---|
1 # menu.py | 1 # menu.py |
2 # Copyright Boomslang team, 2010 (see COPYING File) | 2 # Copyright Boomslang team, 2010 (see COPYING File) |
3 # Main menu for the game | 3 # Main menu for the game |
4 | 4 |
5 import pygame.event | |
6 from pygame.locals import QUIT | |
5 from pyntnclick.engine import Screen | 7 from pyntnclick.engine import Screen |
6 from pyntnclick.widgets.imagebutton import ImageButtonWidget | 8 from pyntnclick.widgets.imagebutton import ImageButtonWidget |
7 | |
8 import pygame.event | |
9 from pygame.locals import QUIT | |
10 | 9 |
11 | 10 |
12 class MenuScreen(Screen): | 11 class MenuScreen(Screen): |
13 def setup(self): | 12 def setup(self): |
14 self._background = self.resource.get_image(('splash', 'splash.png')) | 13 self._background = self.resource.get_image('splash/splash.png') |
15 | 14 |
16 self.add_image_button((16, 523), ('splash', 'play.png'), self.start) | 15 self.add_image_button((16, 523), 'splash/play.png', self.start) |
17 # FIXME: Only show this when check_running: | 16 # FIXME: Only show this when check_running: |
18 self.add_image_button((256, 523), ('splash', 'resume.png'), self.resume) | 17 self.add_image_button((256, 523), 'splash/resume.png', self.resume) |
19 self.add_image_button((580, 523), ('splash', 'quit.png'), self.quit) | 18 self.add_image_button((580, 523), 'splash/quit.png', self.quit) |
20 | 19 |
21 def add_image_button(self, rect, image_name, callback): | 20 def add_image_button(self, rect, image_name, callback): |
22 image = self.resource.get_image(image_name) | 21 image = self.resource.get_image(image_name) |
23 widget = ImageButtonWidget(rect, image) | 22 widget = ImageButtonWidget(rect, image) |
24 widget.add_callback('clicked', callback) | 23 widget.add_callback('clicked', callback) |
26 | 25 |
27 def draw_background(self): | 26 def draw_background(self): |
28 self.surface.blit(self._background, self.surface.get_rect()) | 27 self.surface.blit(self._background, self.surface.get_rect()) |
29 | 28 |
30 def start(self, ev, widget): | 29 def start(self, ev, widget): |
31 self.shell.game_screen.start_game() | 30 from gamelib.endscreen import EndScreen |
32 self.shell.show_screen(self.shell.game_screen) | 31 self.change_screen(EndScreen(self.game_description)) |
33 | 32 |
34 def check_running(self): | 33 def check_running(self): |
35 return self.shell.game_screen.running | 34 return self.shell.game_screen.running |
36 | 35 |
37 def resume(self, ev, widget): | 36 def resume(self, ev, widget): |