Mercurial > skaapsteker
changeset 75:95cb0b575e05
Enemies in level editor, tile layers.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 03 Apr 2011 23:51:09 +0200 |
parents | c2943bc7bf51 |
children | 1605626b57d2 |
files | data/levels/level1.json data/sprites/dummy.png scripts/level-editor skaapsteker/level.py |
diffstat | 4 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/data/levels/level1.json Sun Apr 03 23:45:16 2011 +0200 +++ b/data/levels/level1.json Sun Apr 03 23:51:09 2011 +0200 @@ -6,11 +6,11 @@ "tiles": [ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "X{.....................................}X{..............................}X", - "X.......................................X................................X", + "X...1...................................X................................X", "X.......................................bXXXd=-->........................X", "Xd=--------+XXXq.........................................................X", "X{..........XXXX.........................................................X", - "X...........XXXX=----------+XXXX=---------------------------------------+X", + "X....-......XXXX=----------+XXXX=---------------------------------------+X", "X...........bXXd...........pXXXX.........................................X", "X.........................pXXXXX.........................................X", "X........................pXXXXXXXXXXXXXq.................................X", @@ -20,7 +20,8 @@ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ], "enemies": [ - {"type": "Dummy", "pos": [4, 2], "direction": "left" } + {"type": "Dummy", "pos": [4, 2], "direction": "left" }, + {"type": "Dummy", "pos": [5, 6], "direction": "right" } ], "sprites": [ {"type": "enemies.Dummy", "pos": [2, 2], "direction": "left" }
--- a/scripts/level-editor Sun Apr 03 23:45:16 2011 +0200 +++ b/scripts/level-editor Sun Apr 03 23:51:09 2011 +0200 @@ -55,7 +55,7 @@ clip_rect = pygame.Rect(position, screen_surface.get_size()) level_surface.set_clip(clip_rect) level.draw(level_surface) - level.draw_tiles(level_surface) + level.sprites.draw(level_surface) screen_surface.blit(level_surface, (0, 0), clip_rect) tilepos = (position[0] // 64, position[1] // 64)
--- a/skaapsteker/level.py Sun Apr 03 23:45:16 2011 +0200 +++ b/skaapsteker/level.py Sun Apr 03 23:51:09 2011 +0200 @@ -1,7 +1,7 @@ import json from pygame import Rect, Surface -from pygame.sprite import Group +from pygame.sprite import LayeredUpdates from pygame.locals import SRCALPHA, HWSURFACE from skaapsteker import data @@ -30,6 +30,7 @@ 'b': self.tile_factory('solid-cap-sw.png', True, True), '{': self.tile_factory('solid-cnr-l.png'), '}': self.tile_factory('solid-cnr-r.png'), + '1': self.tile_factory('bonsai.png', layer=Layers.FOREGROUND), } @@ -52,7 +53,7 @@ class Level(object): def __init__(self, leveldef): self.level_data = json.loads(data.load('levels/' + leveldef + '.json').read()) - self.sprites = Group() + self.sprites = LayeredUpdates() self.build_backgrounds() self.build_tiles() self.setup_enemies() @@ -66,7 +67,7 @@ def build_tiles(self): self.tileset = TileSet(self.level_data['tileset']) - self.tiles = Group() + self.tiles = LayeredUpdates() tile_data = self.level_data['tiles'] self.tile_size = (len(tile_data[0]), len(tile_data)) self.pixel_size = (self.tile_size[0] * TILE_SIZE[0], self.tile_size[1] * TILE_SIZE[1]) @@ -76,11 +77,10 @@ if tile: self.tiles.add(tile) self.sprites.add(tile) - print "level:", self.tile_size, self.pixel_size def setup_enemies(self): - self.enemies = Group() + self.enemies = LayeredUpdates() for enemy_def in self.level_data['enemies']: enemy = enemies.get_enemy(enemy_def) self.enemies.add(enemy)