Mercurial > mamba
annotate mamba/sprites.py @ 71:58557a89ec86
Some tile improvements and stuff.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 11 Sep 2011 17:51:43 +0200 |
parents | cd5ad2c45e2d |
children | c8d6ca296884 |
rev | line source |
---|---|
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 | |
56 | 16 def __init__(self, image_name, *groups): |
17 super(BaseSprite, self).__init__(*groups) | |
18 self.image_name = image_name | |
19 self.load_image(image_name, self.tileset) | |
20 | |
21 def load_image(self, image_name, tileset): | |
50 | 22 if tileset is None: |
23 tileset = self.tileset | |
24 self.image = load_image('tiles/%s/%s.png' % (tileset, image_name)) | |
25 | |
26 def set_tile_pos(self, tile_pos): | |
27 self.rect = self.image.get_rect().move(tile_sizify(tile_pos)) | |
28 | |
29 | |
30 class TileSprite(BaseSprite): | |
31 def __init__(self, tileset_name, image_name, *groups): | |
56 | 32 self.tileset = tileset_name |
33 super(TileSprite, self).__init__(image_name, *groups) | |
50 | 34 |
35 | |
71
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
36 class SingleImageTileSprite(TileSprite): |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
37 def __init__(self, tileset, *groups): |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
38 super(SingleImageTileSprite, self).__init__(tileset, self.image_name) |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
39 |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
40 |
56 | 41 class DoorSprite(TileSprite): |
42 def __init__(self, tileset_name, colour, *groups): | |
57 | 43 self.colour = colour |
56 | 44 image_name = 'door_%s' % (colour,) |
45 super(DoorSprite, self).__init__(tileset_name, image_name, *groups) | |
71
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
46 |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
47 |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
48 class EntrySprite(SingleImageTileSprite): |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
49 # image_name = 'entry' |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
50 image_name = 'puddle-r' |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
51 |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
52 |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
53 class ExitSprite(SingleImageTileSprite): |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
54 # image_name = 'exit' |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
55 image_name = 'puddle-tl' |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
56 |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
57 |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
58 class PuddleSprite(SingleImageTileSprite): |
58557a89ec86
Some tile improvements and stuff.
Jeremy Thurgood <firxen@gmail.com>
parents:
57
diff
changeset
|
59 image_name = 'puddle' |