50
|
1 from pygame.sprite import Sprite
|
|
2
|
|
3 from mamba.data import load_image
|
|
4 from mamba.constants import TILE_SIZE
|
|
5
|
|
6
|
|
7 def tile_sizify(pos):
|
|
8 ts_x, ts_y = TILE_SIZE
|
|
9 p_x, p_y = pos
|
|
10 return (ts_x * p_x, ts_y * p_y)
|
|
11
|
|
12
|
|
13 class BaseSprite(Sprite):
|
|
14 tileset = 'common'
|
|
15
|
|
16 def load_image(self, image_name, tileset=None):
|
|
17 if tileset is None:
|
|
18 tileset = self.tileset
|
|
19 self.image = load_image('tiles/%s/%s.png' % (tileset, image_name))
|
|
20
|
|
21 def set_tile_pos(self, tile_pos):
|
|
22 self.rect = self.image.get_rect().move(tile_sizify(tile_pos))
|
|
23
|
|
24
|
|
25 class TileSprite(BaseSprite):
|
|
26 def __init__(self, tileset_name, image_name, *groups):
|
|
27 super(TileSprite, self).__init__(*groups)
|
|
28 self.load_image(image_name, tileset_name)
|
|
29
|
|
30
|
|
31 class ThingSprite(BaseSprite):
|
|
32 def __init__(self, image_name, *groups):
|
|
33 super(ThingSprite, self).__init__(*groups)
|
|
34 self.load_image(image_name)
|