Mercurial > rinkhals
comparison gamelib/tiles.py @ 24:7584453f4944
Add support for PNG tiles.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 30 Aug 2009 18:11:30 +0000 |
parents | |
children | 2eec29085060 |
comparison
equal
deleted
inserted
replaced
23:df537fecf844 | 24:7584453f4944 |
---|---|
1 """Extension to pgu's tilevid.""" | |
2 | |
3 from pgu import tilevid, vid | |
4 import pygame | |
5 import os | |
6 | |
7 TILE_MAP = { | |
8 0: "woodland", | |
9 1: "grassland", | |
10 2: "fence", | |
11 3: "henhouse", | |
12 4: "chicken", | |
13 } | |
14 | |
15 REVERSE_TILE_MAP = dict((v, k) for k, v in TILE_MAP.iteritems()) | |
16 | |
17 class FarmVid(tilevid.Tilevid): | |
18 """Extension of pgu's TileVid class to handle the complications | |
19 of raising chickens. | |
20 """ | |
21 def __init__(self): | |
22 tilevid.Tilevid.__init__(self) | |
23 | |
24 def png_folder_load_tiles(self, path): | |
25 """Load tiles from a folder of PNG files.""" | |
26 for dirpath, dirnames, filenames in os.walk(path): | |
27 for filename in filenames: | |
28 basename, ext = os.path.splitext(filename) | |
29 if ext != ".png": | |
30 continue | |
31 if basename in REVERSE_TILE_MAP: | |
32 n = REVERSE_TILE_MAP[basename] | |
33 img = pygame.image.load(os.path.join(dirpath, filename)).convert_alpha() | |
34 self.tiles[n] = FarmTile(img) | |
35 | |
36 class FarmTile(vid.Tile): | |
37 pass |