diff skaapsteker/sprites/player.py @ 120:9b08afeadf06

Animated running.
author Simon Cross <hodgestar@gmail.com>
date Mon, 04 Apr 2011 22:11:33 +0200
parents 69a97094417a
children 51bcc909873d
line wrap: on
line diff
--- a/skaapsteker/sprites/player.py	Mon Apr 04 22:07:01 2011 +0200
+++ b/skaapsteker/sprites/player.py	Mon Apr 04 22:11:33 2011 +0200
@@ -19,6 +19,7 @@
         Sprite.__init__(self)
         self.image = None
         self._image_dict = {}
+        self._animation_frame = 0.0
         # State flags and such
         self.running = False
         self.jumping = False
@@ -33,11 +34,19 @@
 
     def set_image(self):
         key = self._make_key()
-        # TODO: handle animations
-        self.image = self._image_dict[key][0]
+        images = self._image_dict[key]
+        if self._animation_frame >= len(images):
+            self._animation_frame = 0.0
+        self.image = images[int(self._animation_frame)]
 
     def update(self):
-        pass # animate tail here
+        v_x, v_y = self.velocity
+        self._animation_frame += abs(v_x) / 3000.0
+        if v_x == 0:
+            self.running = False
+        else:
+            self.running = True
+        self.set_image()
 
     def set_facing(self, new_facing):
         self.facing = new_facing
@@ -107,5 +116,3 @@
                         if facing == 'right':
                             image = pygame.transform.flip(image, True, False)
                         self._image_dict[key].append(image)
-
-