Mercurial > boomslang
comparison gamelib/menu.py @ 852:f95830b58336
Merge pyntnclick
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sat, 21 Jun 2014 22:04:35 +0200 |
parents | 42742a62f9c3 642564a3bedf |
children |
comparison
equal
deleted
inserted
replaced
546:ad4d6ffd25d7 | 852:f95830b58336 |
---|---|
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 from albow.screen import Screen | 5 from pyntnclick.menuscreen import MenuScreen |
6 from albow.resource import get_image | |
7 | |
8 from gamelib.widgets import BoomImageButton | |
9 | 6 |
10 | 7 |
11 class SplashButton(BoomImageButton): | 8 class SSMenuScreen(MenuScreen): |
9 BACKGROUND_IMAGE = 'splash/splash.png' | |
12 | 10 |
13 FOLDER = 'splash' | 11 def make_new_game_button(self): |
12 return self.make_image_button((16, 523), 'splash/play.png') | |
14 | 13 |
14 def make_resume_game_button(self): | |
15 return self.make_image_button((256, 523), 'splash/resume.png') | |
15 | 16 |
16 class MenuScreen(Screen): | 17 def make_quit_button(self): |
17 def __init__(self, shell): | 18 return self.make_image_button((580, 523), 'splash/quit.png') |
18 Screen.__init__(self, shell) | |
19 self._background = get_image('splash', 'splash.png') | |
20 self._start_button = SplashButton('play.png', 16, 523, self.start) | |
21 self._resume_button = SplashButton('resume.png', 256, 523, self.resume, | |
22 enable=self.check_running) | |
23 self._quit_button = SplashButton('quit.png', 580, 523, shell.quit) | |
24 self.add(self._start_button) | |
25 self.add(self._resume_button) | |
26 self.add(self._quit_button) | |
27 | 19 |
28 def draw(self, surface): | 20 def make_load_game_button(self): |
29 surface.blit(self._background, (0, 0)) | 21 return self.make_image_button((16, 200), 'splash/load.png') |
30 self._start_button.draw(surface) | |
31 self._resume_button.draw(surface) | |
32 self._quit_button.draw(surface) | |
33 | 22 |
34 def start(self): | 23 def make_save_game_button(self): |
35 self.shell.game_screen.start_game() | 24 return self.make_image_button((601, 200), 'splash/save.png') |
36 self.shell.show_screen(self.shell.game_screen) | |
37 | 25 |
38 def check_running(self): | |
39 return self.shell.game_screen.running | |
40 | |
41 def resume(self): | |
42 if self.shell.game_screen.running: | |
43 self.shell.show_screen(self.shell.game_screen) |