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: