Mercurial > pyntnclick
comparison pyntnclick/gamescreen.py @ 656:59d16b45ee4c pyntnclick
Handle ESC from game
author | Stefano Rivera <stefano@rivera.za.net> |
---|---|
date | Sun, 12 Feb 2012 13:58:02 +0200 |
parents | 335db68e0db4 |
children | 0df0c81a3d8b |
comparison
equal
deleted
inserted
replaced
655:c77d6aa29bee | 656:59d16b45ee4c |
---|---|
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 pygame import Rect, mouse, Surface | 5 from pygame import Rect, mouse, Surface |
6 from pygame.color import Color | 6 from pygame.color import Color |
7 from pygame.locals import MOUSEBUTTONDOWN, MOUSEMOTION | 7 from pygame.locals import MOUSEBUTTONDOWN, MOUSEMOTION, KEYDOWN, K_ESCAPE |
8 | 8 |
9 from pyntnclick.cursor import CursorWidget | 9 from pyntnclick.cursor import CursorWidget |
10 from pyntnclick.engine import Screen | 10 from pyntnclick.engine import Screen |
11 from pyntnclick.state import handle_result | 11 from pyntnclick.state import handle_result |
12 from pyntnclick.widgets.base import Widget, Container | 12 from pyntnclick.widgets.base import Widget, Container |
246 class GameScreen(Screen): | 246 class GameScreen(Screen): |
247 | 247 |
248 def setup(self): | 248 def setup(self): |
249 self.running = False | 249 self.running = False |
250 self.create_initial_state = self.gd.initial_state | 250 self.create_initial_state = self.gd.initial_state |
251 self.container.add_callback(KEYDOWN, self.key_pressed) | |
251 | 252 |
252 def _clear_all(self): | 253 def _clear_all(self): |
253 for widget in self.container.children[:]: | 254 for widget in self.container.children[:]: |
254 self.container.remove(widget) | 255 self.container.remove(widget) |
255 | 256 |
283 # XXX: self.toolbar.bottomleft = self.bottomleft | 284 # XXX: self.toolbar.bottomleft = self.bottomleft |
284 # self.container.add(self.toolbar) | 285 # self.container.add(self.toolbar) |
285 | 286 |
286 self.running = True | 287 self.running = True |
287 | 288 |
289 def key_pressed(self, event, widget): | |
290 if event.key == K_ESCAPE: | |
291 self.change_screen('menu') | |
292 | |
288 # albow callback: | 293 # albow callback: |
289 def main_menu_cmd(self): | 294 def main_menu_cmd(self): |
290 self.shell.show_screen(self.shell.menu_screen) | 295 self.shell.show_screen(self.shell.menu_screen) |
291 | 296 |
292 # albow callback: | 297 # albow callback: |