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" }
Binary file data/sprites/dummy.png has changed
--- 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)