Mercurial > mamba
diff mamba/sprites.py @ 50:1b725035b8ef
Levels that are visible.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 11 Sep 2011 15:29:52 +0200 |
parents | |
children | e730ec8b82e8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mamba/sprites.py Sun Sep 11 15:29:52 2011 +0200 @@ -0,0 +1,34 @@ +from pygame.sprite import Sprite + +from mamba.data import load_image +from mamba.constants import TILE_SIZE + + +def tile_sizify(pos): + ts_x, ts_y = TILE_SIZE + p_x, p_y = pos + return (ts_x * p_x, ts_y * p_y) + + +class BaseSprite(Sprite): + tileset = 'common' + + def load_image(self, image_name, tileset=None): + if tileset is None: + tileset = self.tileset + self.image = load_image('tiles/%s/%s.png' % (tileset, image_name)) + + def set_tile_pos(self, tile_pos): + self.rect = self.image.get_rect().move(tile_sizify(tile_pos)) + + +class TileSprite(BaseSprite): + def __init__(self, tileset_name, image_name, *groups): + super(TileSprite, self).__init__(*groups) + self.load_image(image_name, tileset_name) + + +class ThingSprite(BaseSprite): + def __init__(self, image_name, *groups): + super(ThingSprite, self).__init__(*groups) + self.load_image(image_name)