Mercurial > dw
changeset 26:c66e886826b3
Death animation
| author | Radomir Dopieralski <moindev@sheep.art.pl> |
|---|---|
| date | Tue, 18 Dec 2007 01:05:25 +0100 |
| parents | 61592a80729c |
| children | 9897f946b8cc |
| files | lib/game.py monster/__init__.py monster/player.py |
| diffstat | 3 files changed, 32 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/game.py Mon Dec 17 20:10:40 2007 +0100 +++ b/lib/game.py Tue Dec 18 01:05:25 2007 +0100 @@ -28,10 +28,9 @@ def main_loop(self): self.level.refresh(self.screen) - + av = self.level.player hscroll = 0 vscroll = 0 - key_pressed = None while 1: # Update the screen @@ -51,16 +50,10 @@ self.level.scroll(hs, vs) hscroll -= hs vscroll -= vs - self.level.refresh(self.screen) - self.level.update(self.screen) - self.clock.tick(15) - # Process input - for event in pygame.event.get(): - if event.type==QUIT: - return - elif event.type==KEYDOWN: - key_pressed = event.key - av = self.level.player + self.level.refresh(self.screen) + else: + self.level.update(self.screen) + if av.rect.left<48: hscroll += 48-av.rect.left if av.rect.right>self.screen.get_width()-48: @@ -69,11 +62,15 @@ vscroll += 48-av.rect.top if av.rect.bottom>self.screen.get_height()-48: vscroll += self.screen.get_height()-48-av.rect.bottom - - - - if key_pressed==K_SPACE: - Mesg(av, "-5", color=(255,0 ,0)) + + self.clock.tick(15) + # Process input + for event in pygame.event.get(): + if event.type==QUIT: + return + elif event.type==KEYDOWN: + key_pressed = event.key + if av.step==0: keys = pygame.key.get_pressed() if keys[K_UP] or key_pressed==K_UP:
--- a/monster/__init__.py Mon Dec 17 20:10:40 2007 +0100 +++ b/monster/__init__.py Tue Dec 18 01:05:25 2007 +0100 @@ -2,7 +2,7 @@ from pygame.locals import * import os - +from mesg import Mesg from shadow import Shadow from util import * @@ -75,6 +75,21 @@ self.delay += 1 self.image = frames[self.frame] + def anim_die(self): + self.step -= 1 + if self.step==15: + self.rect.move_ip(0, -4) + self.h += 4 + if self.step<=0: + self.die() + else: + self.image.set_alpha(self.step*32) + + def hit(self): + Mesg(self, "-5", color=(255,0,0)) + if self.anim!= self.anim_die: + self.anim = self.anim_die + self.step = 8 def anim(self): self.animate(self.frames[0], 3) @@ -92,3 +107,4 @@ def update(self): self.anim() +
