changeset 39:36e009505a41

dix monster depths
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Tue, 23 Aug 2011 21:21:28 +0200
parents f6cd326c1169
children 9c5ba35a6596
files display.py monster.py
diffstat 2 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/display.py	Tue Aug 23 20:59:00 2011 +0200
+++ b/display.py	Tue Aug 23 21:21:28 2011 +0200
@@ -87,6 +87,7 @@
         self.shadows = pygame.sprite.Group()
         self.overlay = pygame.sprite.Group()
         self.effects = pygame.sprite.RenderUpdates()
+        self.menus = SortedUpdates()
         self.empty()
 
     def empty(self):
@@ -129,6 +130,7 @@
                 (self.screen.get_width(), self.screen.get_height())))
         self.sprites.clear(self.screen, self._sprite_clear)
         self.effects.clear(self.screen, self._sprite_clear)
+        self.menus.clear(self.screen, self._sprite_clear)
         self.shadows.update()
         self._sprite_shift(self.shadows, self.scroll_offset)
         self._sprite_shift(self.sprites, self.scroll_offset)
@@ -142,6 +144,7 @@
         self._sprite_shift(self.sprites, self.scroll_offset, reverse=True)
         self._sprite_shift(self.overlay, self.scroll_offset, reverse=True)
         self._sprite_shift(self.effects, self.scroll_offset, reverse=True)
+        self.menus.draw(self.screen)
         pygame.display.flip()
 
     def update(self):
@@ -149,9 +152,11 @@
 
         self.sprites.clear(self.screen, self._sprite_clear)
         self.effects.clear(self.screen, self._sprite_clear)
+        self.menus.clear(self.screen, self._sprite_clear)
         self.sprites.update()
         self.effects.update()
         self.shadows.update()
+        self.menus.update()
         self._sprite_shift(self.shadows, self.scroll_offset)
         self._sprite_shift(self.sprites, self.scroll_offset)
         self._sprite_shift(self.overlay, self.scroll_offset)
@@ -164,6 +169,7 @@
         self._sprite_shift(self.sprites, self.scroll_offset, reverse=True)
         self._sprite_shift(self.overlay, self.scroll_offset, reverse=True)
         self._sprite_shift(self.effects, self.scroll_offset, reverse=True)
+        dirty += self.menus.draw(self.screen)
         pygame.display.update(dirty)
 
     def tick(self, tick=20):
--- a/monster.py	Tue Aug 23 20:59:00 2011 +0200
+++ b/monster.py	Tue Aug 23 21:21:28 2011 +0200
@@ -46,23 +46,25 @@
                 yield
                 self.image = self.frames[self.tx][self.frame]
                 self.rect.move_ip(dx * 3, dy * 2)
-                self.depth = self.rect.midbottom[1]
+                self.depth = self.rect.midbottom[1] + 1
 
     def anim_fight(self, dx, dy):
         self.image = self.frames[self.tx][1]
         h = [1, 2, -3]
+        latitude = 0
         for frame in range(2):
             yield
         for frame in range(3):
             yield
             self.rect.move_ip(dx * 3 * frame, dy * 2 * frame - h[frame])
-            self.depth = self.rect.midbottom[1] + h[frame]
+            latitude += h[frame]
+            self.depth = self.rect.midbottom[1] - latitude + 1
         self.depth = self.rect.midbottom[1]
         for frame in range(3):
             yield
             self.image = self.frames[self.tx][1]
             self.rect.move_ip(-dx * 3 * frame, -dy * 2 * frame)
-            self.depth = self.rect.midbottom[1]
+            self.depth = self.rect.midbottom[1] + 1
         self.image = self.frames[self.tx][0]
 
     def anim_die(self):