changeset 159:7bb8d9d6858a

Darken center of game over splash screen to make text legible.
author Simon Cross <hodgestar@gmail.com>
date Thu, 03 Sep 2009 22:00:28 +0000
parents baf857805867
children 8a11bbafa07f
files gamelib/gameover.py gamelib/imagecache.py
diffstat 2 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/gameover.py	Thu Sep 03 21:50:49 2009 +0000
+++ b/gamelib/gameover.py	Thu Sep 03 22:00:28 2009 +0000
@@ -17,9 +17,9 @@
         gui.Container.__init__(self, *args, **kwargs)
         self.add(game_over, 0, 0)
         if game_over.survived:
-            self.splash = imagecache.load_image("images/gameover_win.png")
+            self.splash = imagecache.load_image("images/gameover_win.png", ["darken_center"])
         else:
-            self.splash = imagecache.load_image("images/gameover_lose.png")
+            self.splash = imagecache.load_image("images/gameover_lose.png", ["darken_center"])
 
     def paint(self, s):
         pygame.display.set_caption('Game Over')
--- a/gamelib/imagecache.py	Thu Sep 03 21:50:49 2009 +0000
+++ b/gamelib/imagecache.py	Thu Sep 03 22:00:28 2009 +0000
@@ -56,8 +56,9 @@
 
 # modifiers
 
-from pygame.locals import BLEND_RGBA_MULT
+from pygame.locals import BLEND_RGBA_MULT, BLEND_MULT
 NIGHT_COLOUR = (100.0, 100.0, 200.0, 255.0)
+DARKEN_COLOUR = (100.0, 100.0, 100.0, 255.0)
 
 def convert_to_night(image):
     """Convert a day tile to a night tile."""
@@ -70,9 +71,20 @@
     right_facing_image = pygame.transform.flip(right_facing_image, 1, 0)
     return right_facing_image
 
+def darken_center(image):
+    darkened = image.copy()
+    w, h = darkened.get_size()
+    w, h = int(w*0.5), int(h*0.5)
+    x, y = int(w*0.5), int(h*0.5)
+    overlay = pygame.Surface((w, h))
+    overlay.fill(DARKEN_COLOUR)
+    darkened.blit(overlay, (x,y), None, BLEND_MULT)
+    return darkened
+
 # globals
 
 cache = ImageCache()
 cache.register_modifier("night", convert_to_night)
 cache.register_modifier("right_facing", convert_to_right_facing)
+cache.register_modifier("darken_center", darken_center)
 load_image = cache.load_image