diff mamba/sprites.py @ 98:7ce2d2d8381a

Refactor BaseSprite.
author Simon Cross <hodgestar@gmail.com>
date Sun, 11 Sep 2011 19:25:11 +0200
parents c8d6ca296884
children 5b92ff941de3
line wrap: on
line diff
--- a/mamba/sprites.py	Sun Sep 11 19:24:59 2011 +0200
+++ b/mamba/sprites.py	Sun Sep 11 19:25:11 2011 +0200
@@ -13,15 +13,16 @@
 class BaseSprite(Sprite):
     tileset = 'common'
 
-    def __init__(self, image_name, *groups):
-        super(BaseSprite, self).__init__(*groups)
-        self.image_name = image_name
-        self.load_image(image_name, self.tileset)
+    def __init__(self, tileset=None, image_name=None):
+        super(BaseSprite, self).__init__()
+        if tileset is not None:
+            self.tileset = tileset
+        if image_name is not None:
+            self.image = self.load_image(image_name)
 
-    def load_image(self, image_name, tileset):
-        if tileset is None:
-            tileset = self.tileset
-        self.image = load_image('tiles/%s/%s.png' % (tileset, image_name))
+    def load_image(self, image_name, mutators=()):
+        return load_image('tiles/%s/%s.png' % (self.tileset, image_name),
+                          mutators)
 
     def set_tile_pos(self, tile_pos):
         self.tile_pos = tile_pos
@@ -29,29 +30,28 @@
 
 
 class TileSprite(BaseSprite):
-    def __init__(self, tileset_name, image_name, *groups):
-        self.tileset = tileset_name
-        super(TileSprite, self).__init__(image_name, *groups)
+    def __init__(self, tileset, image_name):
+        super(TileSprite, self).__init__(tileset, image_name)
 
 
 class SingleImageTileSprite(TileSprite):
-    def __init__(self, tileset, *groups):
+    def __init__(self, tileset):
         super(SingleImageTileSprite, self).__init__(tileset, self.image_name)
 
 
 class DoorSprite(TileSprite):
-    def __init__(self, tileset_name, colour, *groups):
+    def __init__(self, tileset_name, colour):
         self.colour = colour
         image_name = 'door_%s' % (colour,)
-        super(DoorSprite, self).__init__(tileset_name, image_name, *groups)
+        super(DoorSprite, self).__init__(tileset_name, image_name)
 
 
 class EntrySprite(SingleImageTileSprite):
     image_name = 'puddle-r'
 
-    def __init__(self, tileset_name, direction, *groups):
+    def __init__(self, tileset_name, direction):
         self.direction = direction
-        super(EntrySprite, self).__init__(tileset_name, direction)
+        super(EntrySprite, self).__init__(tileset_name)
 
 
 class ExitSprite(SingleImageTileSprite):