Mercurial > pygame-tutorial-slides
changeset 122:84cf505b6792
created
| author | Radomir Dopieralski |
|---|---|
| date | Mon, 18 Jun 2012 18:34:57 +0200 |
| parents | ae4b2c3af53b |
| children | c167a50ba869 |
| files | docs/002%2F008.py |
| diffstat | 1 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/002%2F008.py Mon Jun 18 18:34:57 2012 +0200 @@ -0,0 +1,23 @@ +class HeroSprite(pygame.sprite.Sprite): + def __init__(self, (x, y)): + super(HeroSprite, self).__init__() + self.spritesheet = load_sheet('spritesheet.png', 64) + self.image = self.spritesheet[2] + self.rect = self.image.get_rect() + self.rect.midbottom = (x * 32 + 16, y * 32 + 32) + self.animations = [] + + def move(self, (dx, dy)): + self.animations.append(self.animation_slide((dx, dy))) + + def animation_slide(self, (dx, dy)): + for step in xrange(8): + self.rect.move_ip(dx * 4, dy * 4) + yield + + def update(self): + if self.animations: + try: + self.animations[0].next() + except StopIteration: + self.animations.pop(0) \ No newline at end of file
