changeset 491:ab83fc14df11

First round of level menu background
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 17 Sep 2011 22:57:19 +0200
parents be1e22e3f17c
children d7f9e8a4172e
files mamba/habitats/levelmenu.py mamba/widgets/levelbutton.py
diffstat 2 files changed, 12 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/habitats/levelmenu.py	Sat Sep 17 22:52:13 2011 +0200
+++ b/mamba/habitats/levelmenu.py	Sat Sep 17 22:57:19 2011 +0200
@@ -5,7 +5,7 @@
 from mamba.constants import ESCAPE_KEYS
 from mamba.engine import Habitat, NewHabitatEvent, HabitatSetupEvent
 from mamba.gamestate import done_levels
-from mamba.data import get_official_levels
+from mamba.data import get_official_levels, load_image
 from mamba.level import Level
 from mamba.widgets.text import TextButton
 from mamba.widgets.base import GridContainer
@@ -18,7 +18,7 @@
 
 class LevelMenu(Habitat):
 
-    WIDTH = 6
+    WIDTH = 5
     HEIGHT = 4
 
     def __init__(self):
@@ -26,6 +26,7 @@
         self.level_buttons = {}
         self.page = 0
 
+        self.bg_image = load_image('menus/level-menu.png')
         self.grid_container = GridContainer(width=self.WIDTH)
         self.container.add(self.grid_container)
 
@@ -39,6 +40,9 @@
 
         self.container.add_callback(KEYDOWN, self.keydown_event)
 
+    def draw_background(self):
+        self.surface.blit(self.bg_image, self.surface.get_rect())
+
     def on_enter(self):
         super(LevelMenu, self).on_enter()
         self._setup_levels()
@@ -57,8 +61,8 @@
 
     def setup_level(self, i, name):
         level = self.get_level(name)
-        button = LevelButton((50 + 120 * (i % self.WIDTH),
-                              50 + 120 * (i // self.WIDTH)),
+        button = LevelButton((94 + (100 + 27) * (i % self.WIDTH),
+                              92 + (120 + 27) * (i // self.WIDTH)),
                              level)
         button.add_callback('clicked', self.level_selected, name)
         button.done = level.unique_name() in done_levels
--- a/mamba/widgets/levelbutton.py	Sat Sep 17 22:52:13 2011 +0200
+++ b/mamba/widgets/levelbutton.py	Sat Sep 17 22:57:19 2011 +0200
@@ -1,7 +1,7 @@
 import pygame
 from pygame.locals import SRCALPHA
 
-from mamba.constants import COLOR, FOCUS_COLOR
+from mamba.constants import FOCUS_COLOR
 from mamba.data import load_image
 from mamba.widgets.base import Button
 from mamba.widgets.text import TextWidget
@@ -17,7 +17,7 @@
         self.focussable = True
         self.border = 2
         self.rect.width = 100
-        self.rect.height = 100
+        self.rect.height = 120
         self.prepare()
 
     def make_thumbnail(self, dest_rect):
@@ -43,7 +43,7 @@
             image = load_image('menus/tick.png')
             self.surface.blit(image, image.get_rect())
 
-        self._text = TextWidget((0, 0), self.text, fontsize=12)
+        self._text = TextWidget((0, 0), self.text, fontsize=12, color='white')
         self._text.prepare()
         text_rect = pygame.Rect((0, 0), self.rect.size).inflate(
                 self._text.rect.width - self.rect.width,
@@ -51,7 +51,7 @@
         text_rect.top = self.rect.height - self._text.rect.height - self.border
         self.surface.blit(self._text.surface, text_rect)
 
-        color = pygame.Color(FOCUS_COLOR if self.focussed else COLOR)
+        color = pygame.Color(FOCUS_COLOR if self.focussed else '#444444')
         pygame.draw.rect(self.surface, color, self.surface.get_rect(),
                          self.border + 1)
         self._state = (self.done, self.focussed)