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