Mercurial > nagslang
comparison nagslang/level.py @ 431:fef028d65451
Cache tiling of the background
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 07 Sep 2013 13:52:16 +0200 |
parents | 1a85044f81a8 |
children | 8cd9828828c0 |
comparison
equal
deleted
inserted
replaced
430:c0264b247326 | 431:fef028d65451 |
---|---|
38 self.world = world | 38 self.world = world |
39 self.world.level_state.setdefault(name, {}) | 39 self.world.level_state.setdefault(name, {}) |
40 self.basetile = 'tiles/floor.png' | 40 self.basetile = 'tiles/floor.png' |
41 self._tile_image = None | 41 self._tile_image = None |
42 self._surface = None | 42 self._surface = None |
43 self._base_surface = None | |
43 self._exterior = False | 44 self._exterior = False |
44 self._glue = puzzle.PuzzleGlue() | 45 self._glue = puzzle.PuzzleGlue() |
45 self.drawables = [] | 46 self.drawables = [] |
46 self.overlay_drawables = [] | 47 self.overlay_drawables = [] |
47 self._game_objects = [] | 48 self._game_objects = [] |
235 if self._tile_image is None: | 236 if self._tile_image is None: |
236 self._tile_image = resources.get_image(self.basetile) | 237 self._tile_image = resources.get_image(self.basetile) |
237 if self._surface is not None and not force: | 238 if self._surface is not None and not force: |
238 # We assume we don't change | 239 # We assume we don't change |
239 return self._surface | 240 return self._surface |
240 self._surface = tile_surface((self.x, self.y), self._tile_image) | 241 if self._base_surface is None: |
242 self._base_surface = tile_surface((self.x, self.y), self._tile_image) | |
243 self._surface = self._base_surface.copy() | |
241 return self._surface | 244 return self._surface |