Mercurial > boomslang
comparison gamelib/menu.py @ 792:bdaffaa8b6bf pyntnclick
Loading and saving! (Plus a bunch of other stuff to make it possible.)
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 27 Jan 2013 12:43:28 +0200 |
parents | f67bc162d69e |
children | 642564a3bedf |
comparison
equal
deleted
inserted
replaced
791:56ec01e51f3d | 792:bdaffaa8b6bf |
---|---|
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 | 5 from pyntnclick.menuscreen import MenuScreen |
6 from pygame.locals import QUIT | |
7 from pyntnclick.engine import Screen | |
8 from pyntnclick.widgets.imagebutton import ImageButtonWidget | |
9 | 6 |
10 | 7 |
11 class MenuScreen(Screen): | 8 class SSMenuScreen(MenuScreen): |
12 def setup(self): | 9 BACKGROUND_IMAGE = 'splash/splash.png' |
13 self._background = self.resource.get_image('splash/splash.png') | |
14 | 10 |
15 self.add_image_button((16, 523), 'splash/play.png', self.start) | 11 def make_new_game_button(self): |
16 self._resume_button = self.add_image_button((256, 523), | 12 return self.make_image_button((16, 523), 'splash/play.png') |
17 'splash/resume.png', self.resume) | |
18 self.add_image_button((580, 523), 'splash/quit.png', self.quit) | |
19 | 13 |
20 def add_image_button(self, rect, image_name, callback): | 14 def make_resume_game_button(self): |
21 image = self.resource.get_image(image_name) | 15 return self.make_image_button((256, 523), 'splash/resume.png') |
22 widget = ImageButtonWidget(rect, self.gd, image) | |
23 widget.add_callback('clicked', callback) | |
24 self.container.add(widget) | |
25 return widget | |
26 | 16 |
27 def draw_background(self): | 17 def make_quit_button(self): |
28 self.surface.blit(self._background, self.surface.get_rect()) | 18 return self.make_image_button((580, 523), 'splash/quit.png') |
29 | |
30 def on_enter(self): | |
31 super(MenuScreen, self).on_enter() | |
32 self._resume_button.visible = self.check_running() | |
33 | |
34 def start(self, ev, widget): | |
35 self.screen_event('game', 'restart') | |
36 self.change_screen('game') | |
37 | |
38 def check_running(self): | |
39 return self.gd.running | |
40 | |
41 def resume(self, ev, widget): | |
42 self.change_screen('game') | |
43 | |
44 def quit(self, ev, widget): | |
45 pygame.event.post(pygame.event.Event(QUIT)) |