changeset 47:215e2e74c244

Better dummy monster.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 03 Apr 2011 21:01:45 +0200
parents 416e40b77924
children d8c5427925e8
files skaapsteker/level.py skaapsteker/sprites/base.py skaapsteker/sprites/enemies.py
diffstat 3 files changed, 21 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/skaapsteker/level.py	Sun Apr 03 20:59:05 2011 +0200
+++ b/skaapsteker/level.py	Sun Apr 03 21:01:45 2011 +0200
@@ -33,10 +33,10 @@
 class Level(object):
     def __init__(self, leveldef):
         self.level_data = json.loads(data.load('levels/' + leveldef + '.json').read())
+        self.sprites = Group()
         self.build_background()
         self.build_tiles()
         self.setup_enemies()
-        self.setup_sprites()
 
 
     def build_background(self):
@@ -56,19 +56,24 @@
                 tile = self.tileset.get_tile(char, (x, y))
                 if tile:
                     self.tiles.add(tile)
+                    self.sprites.add(tile)
         print "level:", self.tile_size, self.pixel_size
 
 
     def setup_enemies(self):
-        self.enemies = []
-        for enemy in self.level_data['enemies']:
-            self.enemies.append(enemies.get_enemy(enemy))
+        self.enemies = Group()
+        for enemy_def in self.level_data['enemies']:
+            enemy = enemies.get_enemy(enemy_def)
+            self.enemies.add(enemy)
+            self.sprites.add(enemy)
+
 
-    def setup_sprites(self):
-        self.sprites = []
-        for sprite_desc in self.level_data['sprites']:
-            self.sprites.append(find_sprite(sprite_desc))
-        print self.sprites
+    # def setup_sprites(self):
+    #     self.sprites = []
+    #     for sprite_desc in self.level_data['sprites']:
+    #         self.sprites.append(find_sprite(sprite_desc))
+    #     print self.sprites
+
 
     def get_surface(self):
         return Surface(self.pixel_size, flags=SRCALPHA)
--- a/skaapsteker/sprites/base.py	Sun Apr 03 20:59:05 2011 +0200
+++ b/skaapsteker/sprites/base.py	Sun Apr 03 21:01:45 2011 +0200
@@ -3,15 +3,20 @@
 from pygame import Rect
 
 from skaapsteker.physics import Sprite
+from skaapsteker import data
 
 
 TILE_SIZE = (64, 64)
 
 
 class Monster(Sprite):
+    image_file = None
+
     def __init__(self, pos, **opts):
         Sprite.__init__(self)
+        self.image = data.load_image('sprites/' + self.image_file)
         self.starting_tile_pos = pos
+        self.rect = self.image.get_rect(topleft=(pos[0]*TILE_SIZE[0], pos[1]*TILE_SIZE[1]))
         self.setup(**opts)
 
 
--- a/skaapsteker/sprites/enemies.py	Sun Apr 03 20:59:05 2011 +0200
+++ b/skaapsteker/sprites/enemies.py	Sun Apr 03 21:01:45 2011 +0200
@@ -9,6 +9,8 @@
 
 
 class Dummy(Monster):
+    image_file = 'dummy.png'
+
     def setup(self, direction):
         print "Dummy monster at %r, facing %s" % (self.starting_tile_pos, direction)