Mercurial > boomslang
annotate gamelib/menu.py @ 114:13d8cb1d5962
Better cursor handling using draw_all() and mouse_delta().
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Tue, 24 Aug 2010 14:51:22 +0200 |
parents | b5b6cbf556e6 |
children | 97322b78d1c1 |
rev | line source |
---|---|
17 | 1 # menu.py |
2 # Copyright Boomslang team, 2010 (see COPYING File) | |
3 # Main menu for the game | |
4 | |
5 from albow.screen import Screen | |
6 from albow.controls import Button, Label | |
7 from albow.layout import Column | |
8 | |
84
c76f2fad2af5
Draw CursorWidget on top of StateWidget
Stefano Rivera <stefano@rivera.za.net>
parents:
66
diff
changeset
|
9 class MenuScreen(Screen): |
19 | 10 def __init__(self, shell): |
84
c76f2fad2af5
Draw CursorWidget on top of StateWidget
Stefano Rivera <stefano@rivera.za.net>
parents:
66
diff
changeset
|
11 Screen.__init__(self, shell) |
24
9d5de13e2ac3
Add a game screen. So far, the game content looks a *lot* like the main menu.
Jeremy Thurgood <firxen@gmail.com>
parents:
19
diff
changeset
|
12 StartButton = Button('Start New Game', action = self.start) |
100
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
13 ResumeButton = Button('Resume Game', action = self.resume, |
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
14 enable=self.check_running) |
19 | 15 QuitButton = Button('Quit', action = shell.quit) |
50 | 16 Title = Label('Suspended Sentence') |
19 | 17 menu = Column([ |
18 Title, | |
19 StartButton, | |
100
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
20 ResumeButton, |
19 | 21 QuitButton, |
22 ], align='l', spacing=20) | |
23 self.add_centered(menu) | |
17 | 24 |
19 | 25 def start(self): |
100
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
26 self.shell.game_screen.start_game() |
24
9d5de13e2ac3
Add a game screen. So far, the game content looks a *lot* like the main menu.
Jeremy Thurgood <firxen@gmail.com>
parents:
19
diff
changeset
|
27 self.shell.show_screen(self.shell.game_screen) |
17 | 28 |
100
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
29 def check_running(self): |
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
30 return self.shell.game_screen.running |
17 | 31 |
100
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
32 def resume(self): |
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
33 if self.shell.game_screen.running: |
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
34 self.shell.show_screen(self.shell.game_screen) |
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
35 |
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
36 |
b5b6cbf556e6
Make start new game start a new game. Add Resume to main menu
Neil Muller <neil@dip.sun.ac.za>
parents:
84
diff
changeset
|
37 |