changeset 13:92a7c310241f

Title screen
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sun, 28 Apr 2013 23:04:06 +0200
parents 2dcb3b6fb6f4
children 945320964b9c
files blow/game.py blow/game_scene.py blow/resources.py blow/scene.py blow/title.png blow/title_scene.py
diffstat 6 files changed, 31 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/blow/game.py	Sun Apr 28 22:36:37 2013 +0200
+++ b/blow/game.py	Sun Apr 28 23:04:06 2013 +0200
@@ -4,7 +4,7 @@
 
 from blow.display import Display
 from blow.resources import Resources
-from blow.game_scene import GameScene
+from blow.title_scene import TitleScene
 
 
 class Game(object):
@@ -19,9 +19,8 @@
 
     def run(self):
         self.scenes.append(
-            GameScene(self.display, self.resources)
+            TitleScene(self.display, self.resources)
         )
-        self.scenes[-1].update(self.scenes, True)
         while self.scenes:
             self.scenes[-1].update(self.scenes)
 
--- a/blow/game_scene.py	Sun Apr 28 22:36:37 2013 +0200
+++ b/blow/game_scene.py	Sun Apr 28 23:04:06 2013 +0200
@@ -326,7 +326,7 @@
         yield
         self.image = self.frames[6]
         self.dead = True
-        for i in xrange(20):
+        for i in xrange(80):
             raise GameOver('won')
 
 
--- a/blow/resources.py	Sun Apr 28 22:36:37 2013 +0200
+++ b/blow/resources.py	Sun Apr 28 23:04:06 2013 +0200
@@ -17,6 +17,7 @@
         self.weapons = self.load_atlas('weapons.png', 64, 64)
         self.effects = self.load_atlas('effects.png', 64, 64)
         self.tree = self.load_atlas('tree.png', 256, 256)
+        self.title = self.load_image('title.png')
         self.swoosh = self.load_sound('swoosh.wav')
         self.hit = self.load_sound('hit.wav')
         self.bark = self.load_sound('bark.wav')
--- a/blow/scene.py	Sun Apr 28 22:36:37 2013 +0200
+++ b/blow/scene.py	Sun Apr 28 23:04:06 2013 +0200
@@ -9,9 +9,11 @@
         self.resources = resources
         self.sprites = SortedUpdates()
         self.background = self.display.screen.copy()
+        self.first = True
 
-    def update(self, scenes, first=False):
-        tick = self.display.update(self.background, self.sprites, first)
+    def update(self, scenes):
+        tick = self.display.update(self.background, self.sprites, self.first)
+        self.first = False
         try:
             self.sprites.update(tick, self)
         except GameOver:
Binary file blow/title.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/blow/title_scene.py	Sun Apr 28 23:04:06 2013 +0200
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+
+import pygame
+
+from blow.scene import Scene
+from blow.game_scene import GameScene
+
+
+class TitleScene(Scene):
+    def __init__(self, display, resources):
+        super(TitleScene, self).__init__(display, resources)
+        self.background = resources.title
+        self.ready = False
+
+    def update(self, scenes):
+        super(TitleScene, self).update(scenes)
+        keys = pygame.key.get_pressed()
+        if keys[pygame.K_SPACE]:
+            self.ready = True
+        elif self.ready:
+            self.ready = False
+            self.first = True
+            scenes.append(GameScene(self.display, self.resources))