import pygame.locals as pgl
+from naja.constants import KEYS
from naja.scenes.scene import Scene
from naja.widgets.text import TextWidget
+from naja.widgets.selector import SelectorWidget
from naja.events import QuitGameEvent
from naja.scenes.credits import CreditsScene
from naja.scenes.game import GameScene
class MenuScene(Scene):
def __init__(self, state):
super(MenuScene, self).__init__(state)
+ selector = SelectorWidget()
+ self.add(selector)
run_game = TextWidget((100, 100), 'Game', fontsize=32, colour='white')
run_game.add_callback('click',
lambda event: SceneChangeEvent.post(GameScene))
- self.add(run_game)
+ selector.add(run_game)
credits = TextWidget((100, 200), 'Credits', fontsize=32, colour='white')
credits.add_callback('click',
lambda event: SceneChangeEvent.post(CreditsScene))
- self.add(credits)
+ selector.add(credits)
quit = TextWidget((100, 300), 'Quit', fontsize=32, colour='white')
quit.add_callback('click', lambda event: QuitGameEvent.post())
- self.add(quit)
+ selector.add(quit)
def handle_scene_event(self, ev):
if ev.type == pgl.KEYDOWN:
- if ev.key in (pgl.K_q, pgl.K_ESCAPE):
+ if ev.key in KEYS.QUIT:
QuitGameEvent.post()
return