Package fortuneengine :: Module DynamicDrawableObject
[hide private]
[frames] | no frames]

Source Code for Module fortuneengine.DynamicDrawableObject

 1  import pygame 
 2  from DrawableObject import DrawableObject 
 3  
 
4 -class DynamicDrawableObject(DrawableObject, pygame.sprite.Sprite):
5
6 - def __init__(self,images,textfileName,fps = 10, x = 0, y = 0, xVelocity = 0, yVelocity = 0):
7 8 self._delay = 1000/fps 9 DrawableObject.__init__(self, images, textfileName, x, y)
10
11 - def addImages(self, images):
12 13 self._images.extend(images)
14
15 - def setSpeed(self, xVelocity = None, yVelocity = None):
16 17 if xVelocity != None: self.xSpeed = xVelocity 18 if yVelocity != None: self.ySpeed = yVelocity
19
20 - def getXSpeed(self):
21 22 return self.xSpeed
23
24 - def getYSpeed(self):
25 26 return self.ySpeed
27
28 - def move(self):
29 self.xPos += self.xSpeed 30 self.yPos += self.ySpeed 31 self.rect.right += self.xSpeed 32 self.rect.top += self.ySpeed
33
34 - def update(self, t):
35 36 timePassed = t + self._last_update 37 38 if (timePassed) > self._delay: 39 if self._frame < self.animations.get(self._current_anim)[0] or self._frame > self.animations.get(self._current_anim)[1]: 40 self._frame = self.animations.get(self._current_anim)[0] - 1 41 42 self._frame += timePassed/self._delay 43 44 if self._frame >= self.animations.get(self._current_anim)[1]: 45 self._frame = self._frame%(self.animations.get(self._current_anim)[1]) 46 47 self.image = self._images[self._frame] 48 self._last_update = timePassed%self._delay 49 else: 50 self._last_update = timePassed
51
52 - def nextFrame(self):
53 self._frame += 1 54 if self._frame >= len(self._images): 55 framesPast = self._frame - len(self._images) 56 self._frame = framesPast 57 58 self.image = self._images[self._frame]
59
60 - def nextCurrentAnimFrame(self):
61 62 for cnt in range(len(animations)): 63 64 if animations[cnt] == self._current_anim: 65 if self._frame < self.animations[self._current_anim][0] or self._frame > self.animations[self._current_anim][1]: 66 self._frame = self.animations[self._current_anim][0] 67 68 else: self._frame += 1 69 70 if self._frame > self.animations[self._current_anim][1]: 71 framesPast = self._frame - self.animations[self._current_anim][1] 72 self._frame = framesPast - 1 + self.animations[self._current_anim][0] 73 74 self.image = self._images[self._frame]
75