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)