Mercurial > boomslang
comparison gamelib/menu.py @ 673:f67bc162d69e pyntnclick
Working resume button
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sun, 12 Feb 2012 18:44:41 +0200 |
parents | fdc63049b08c |
children | bdaffaa8b6bf |
comparison
equal
deleted
inserted
replaced
672:55d5d384fc16 | 673:f67bc162d69e |
---|---|
11 class MenuScreen(Screen): | 11 class MenuScreen(Screen): |
12 def setup(self): | 12 def setup(self): |
13 self._background = self.resource.get_image('splash/splash.png') | 13 self._background = self.resource.get_image('splash/splash.png') |
14 | 14 |
15 self.add_image_button((16, 523), 'splash/play.png', self.start) | 15 self.add_image_button((16, 523), 'splash/play.png', self.start) |
16 if self.check_running(): | 16 self._resume_button = self.add_image_button((256, 523), |
17 self.add_image_button((256, 523), 'splash/resume.png', self.resume) | 17 'splash/resume.png', self.resume) |
18 self.add_image_button((580, 523), 'splash/quit.png', self.quit) | 18 self.add_image_button((580, 523), 'splash/quit.png', self.quit) |
19 | 19 |
20 def add_image_button(self, rect, image_name, callback): | 20 def add_image_button(self, rect, image_name, callback): |
21 image = self.resource.get_image(image_name) | 21 image = self.resource.get_image(image_name) |
22 widget = ImageButtonWidget(rect, self.gd, image) | 22 widget = ImageButtonWidget(rect, self.gd, image) |
23 widget.add_callback('clicked', callback) | 23 widget.add_callback('clicked', callback) |
24 self.container.add(widget) | 24 self.container.add(widget) |
25 return widget | |
25 | 26 |
26 def draw_background(self): | 27 def draw_background(self): |
27 self.surface.blit(self._background, self.surface.get_rect()) | 28 self.surface.blit(self._background, self.surface.get_rect()) |
29 | |
30 def on_enter(self): | |
31 super(MenuScreen, self).on_enter() | |
32 self._resume_button.visible = self.check_running() | |
28 | 33 |
29 def start(self, ev, widget): | 34 def start(self, ev, widget): |
30 self.screen_event('game', 'restart') | 35 self.screen_event('game', 'restart') |
31 self.change_screen('game') | 36 self.change_screen('game') |
32 | 37 |
33 def check_running(self): | 38 def check_running(self): |
34 # TODO: Implement this magic. | 39 return self.gd.running |
35 return False | |
36 | 40 |
37 def resume(self, ev, widget): | 41 def resume(self, ev, widget): |
38 # TODO: Implement this magic. | 42 self.change_screen('game') |
39 pass | |
40 | 43 |
41 def quit(self, ev, widget): | 44 def quit(self, ev, widget): |
42 pygame.event.post(pygame.event.Event(QUIT)) | 45 pygame.event.post(pygame.event.Event(QUIT)) |