changeset 46:375bec56e5bb

Delay for messages
author Radomir Dopieralski <moindev@sheep.art.pl>
date Wed, 26 Dec 2007 11:57:10 +0100
parents 9f1536795477
children 6de8cdb7647a
files lib/mesg.py lib/monster/player.py
diffstat 2 files changed, 14 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lib/mesg.py	Wed Dec 26 11:10:01 2007 +0100
+++ b/lib/mesg.py	Wed Dec 26 11:57:10 2007 +0100
@@ -11,24 +11,29 @@
 class Mesg(pygame.sprite.Sprite):
     """Messages float up and disappear."""
     
-    def __init__(self, display, sprite, text, color=(255, 255, 255)):
+    def __init__(self, display, sprite, text, color=(255, 255, 255), delay=0):
         pygame.sprite.Sprite.__init__(self)
         self.dh = 10
         self.image = font.render(text, False, color).convert()
         self.alpha = 255
         self.rect = self.image.get_rect()
+        self.image.set_alpha(0)
         self.rect.center = sprite.rect.center
         self.sprite = sprite
+        self.delay = delay
         display.effects.add(self)
 
     def update(self):
-        if self.alpha <= 0:
-            self.kill()
-            return
-        self.dh -= 1
-        self.rect.move_ip(0, -self.dh)
-        self.image.set_alpha(self.alpha)
-        self.alpha -= 20
+        if self.delay>0:
+            self.delay -= 1
+        else:
+            if self.alpha <= 0:
+                self.kill()
+                return
+            self.dh -= 1
+            self.rect.move_ip(0, -self.dh)
+            self.image.set_alpha(self.alpha)
+            self.alpha -= 20
         
 pygame.font.init()
 font = pygame.font.SysFont("Sans", 15, bold=True)
--- a/lib/monster/player.py	Wed Dec 26 11:10:01 2007 +0100
+++ b/lib/monster/player.py	Wed Dec 26 11:57:10 2007 +0100
@@ -64,7 +64,7 @@
         monster.hit()
         
     def hit(self, damage=5):
-        Mesg(self.display, self, "-%d" % damage, color=(255,0,0))
+        Mesg(self.display, self, "-%d" % damage, color=(255,0,0), delay=8)
         pass
         
     def act(self):