merge
authorDavid Sharpe <decoydavid@gmail.com>
Sun, 11 May 2014 16:32:11 +0000 (18:32 +0200)
committerDavid Sharpe <decoydavid@gmail.com>
Sun, 11 May 2014 16:32:11 +0000 (18:32 +0200)
naja/engine.py
naja/scenes/credits.py [new file with mode: 0644]
naja/scenes/menu.py

index a8e01460c8b345336f874f0c5fc104b7bda26289..84bf9d0efc84e167a637216b9e7572bd1d7b14ee 100644 (file)
@@ -21,6 +21,7 @@ class Engine(object):
                 elif SceneChangeEvent.matches(ev):
                     self.change_scene(ev.scene)
                 else:
+                    print(ev.type)
                     self._scene.handle_event(ev)
             self._scene.render(self._surface)
             pygame.display.flip()
diff --git a/naja/scenes/credits.py b/naja/scenes/credits.py
new file mode 100644 (file)
index 0000000..cd3ad58
--- /dev/null
@@ -0,0 +1,27 @@
+"""
+Main menu scene.
+"""
+
+import pygame.locals as pgl
+
+from naja.scenes.scene import Scene
+from naja.widgets.text import TextWidget
+from naja.events import SceneChangeEvent
+
+
+class CreditsScene(Scene):
+
+    base_menu = None
+
+    def __init__(self):
+        super(CreditsScene, self).__init__()
+        self.widgets.append(TextWidget((10, 10), 'Credits',
+                            colour=(255, 255, 255)))
+
+    def set_base_menu(self, base_menu):
+        self.base_menu = base_menu
+
+    def handle_event(self, ev):
+        if ev.type == pgl.KEYUP and ev.key in (pgl.K_q, pgl.K_ESCAPE):
+            SceneChangeEvent.post(self.base_menu)
+            return
index a13abcf568d6c90bd9fdc3cfdab467e5c26b62d9..b17f611234253b5ad9b69f1aacd1aebcf34eb5d9 100644 (file)
@@ -7,16 +7,23 @@ import pygame.locals as pgl
 from naja.scenes.scene import Scene
 from naja.widgets.text import TextWidget
 from naja.events import QuitGameEvent
-
+from naja.scenes.credits import CreditsScene
+from naja.events import SceneChangeEvent
 
 class MenuScene(Scene):
 
     def __init__(self):
         super(MenuScene, self).__init__()
         self.widgets.append(TextWidget((10, 10), 'Haai', fontsize=32,
+        self.widgets.append(TextWidget((10, 10), 'Naja',
                             colour=(255, 255, 255)))
+        self.credits_menu = CreditsScene()
+        self.credits_menu.set_base_menu(self)
 
     def handle_event(self, ev):
         if ev.type == pgl.KEYUP and ev.key in (pgl.K_q, pgl.K_ESCAPE):
             QuitGameEvent.post()
             return
+        if ev.type == pgl.KEYUP and ev.key is pgl.K_RETURN:
+            SceneChangeEvent.post(self.credits_menu)
+            return