5 import pygame.locals as pgl
7 from naja.scenes.scene import Scene
8 from naja.widgets.text import TextWidget
9 from naja.widgets.selector import SelectorWidget
10 from naja.events import QuitGameEvent
11 from naja.scenes.credits import CreditsScene
12 from naja.scenes.game import GameScene
13 from naja.events import SceneChangeEvent
16 class MenuScene(Scene):
17 def __init__(self, state):
18 super(MenuScene, self).__init__(state)
19 selector = SelectorWidget()
21 run_game = TextWidget((100, 100), 'Game', fontsize=32, colour='white')
22 run_game.add_callback('click',
23 lambda event: SceneChangeEvent.post(GameScene))
24 selector.add(run_game)
25 credits = TextWidget((100, 200), 'Credits', fontsize=32, colour='white')
26 credits.add_callback('click',
27 lambda event: SceneChangeEvent.post(CreditsScene))
29 quit = TextWidget((100, 300), 'Quit', fontsize=32, colour='white')
30 quit.add_callback('click', lambda event: QuitGameEvent.post())
33 def handle_scene_event(self, ev):
34 if ev.type == pgl.KEYDOWN:
35 if ev.key in (pgl.K_q, pgl.K_ESCAPE):