Mercurial > scrounge
changeset 23:334585726885
monster animation fixes
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Mon, 22 Aug 2011 18:48:31 +0200 |
| parents | 69c39d16dfd6 |
| children | 81766ab43cce |
| files | monster.py objects.png thing.py things.png |
| diffstat | 4 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/monster.py Mon Aug 22 18:42:56 2011 +0200 +++ b/monster.py Mon Aug 22 18:48:31 2011 +0200 @@ -13,6 +13,7 @@ self.ty = 0 super(MonsterSprite, self).__init__(x, y, 'monsters.png') self.animation = self.anim_default() + self.frame = 0 def update(self): try: @@ -23,17 +24,19 @@ def anim_default(self): self.depth = self.rect.midbottom[1] + 1 - for frame in range(4): + while True: yield - self.image = self.frames[self.tx][frame % 4] + self.frame = (self.frame + 1) % 4 + self.image = self.frames[self.tx][self.frame % 4] yield yield def anim_walk(self, dx, dy): for frame in range(2): + self.frame = (self.frame + 1) % 4 for step in range(4): yield - self.image = self.frames[self.tx][frame % 4] + self.image = self.frames[self.tx][self.frame] self.rect.move_ip(dx * 3, dy * 2) self.depth = self.rect.midbottom[1]
--- a/thing.py Mon Aug 22 18:42:56 2011 +0200 +++ b/thing.py Mon Aug 22 18:48:31 2011 +0200 @@ -6,7 +6,7 @@ class ShadowSprite(display.Sprite): def __init__(self, parent): - super(ShadowSprite, self).__init__(0, 0, 'objects.png', 3, 3) + super(ShadowSprite, self).__init__(0, 0, 'things.png', 3, 3) self.image.set_alpha(64) self.parent = parent @@ -24,7 +24,7 @@ self.y = y def render(self, to_display): - self.sprite = display.Sprite(self.x, self.y, 'objects.png', + self.sprite = display.Sprite(self.x, self.y, 'things.png', self.tx, self.ty) to_display.sprites.add(self.sprite) to_display.shadows.add(ShadowSprite(self.sprite))
