# HG changeset patch # User Jeremy Thurgood # Date 1301867469 -7200 # Node ID 95cb0b575e0533440e1fd8b3b414f7aaff1a8627 # Parent c2943bc7bf514ad5d84a84d534a6e1198da9fd41 Enemies in level editor, tile layers. diff -r c2943bc7bf51 -r 95cb0b575e05 data/levels/level1.json --- 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" } diff -r c2943bc7bf51 -r 95cb0b575e05 data/sprites/dummy.png Binary file data/sprites/dummy.png has changed diff -r c2943bc7bf51 -r 95cb0b575e05 scripts/level-editor --- 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) diff -r c2943bc7bf51 -r 95cb0b575e05 skaapsteker/level.py --- 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)