Mercurial > mamba
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):