Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. class Explosion(pygame.sprite.Sprite):
  2. def __init__(self, center, size):
  3. pygame.sprite.Sprite.__init__(self)
  4. self.size = size
  5. self.image = explosion_anim[self.size][0]
  6. self.rect = self.image.get_rect()
  7. self.rect.center = center
  8. self.frame = 0 # set frame to 0 (frame will increment based on frame rate)
  9. self.last_update = pygame.time.get_ticks() # set last_update to gametime in miliseconds (since object initaited)
  10. self.frame_rate = 50
  11.  
  12. def update(self):
  13. now = pygame.time.get_ticks() # set now to gametime in miliseconds (since update method ran)
  14. if now - self.last_update > self.frame_rate: # if now - class attribute greater than 50
  15. self.last_update = now # update class attribute to now
  16. self.frame += 1 # add 1 to frame when update method is ran if conditional is met
  17. if self.frame == len(explosion_anim[self.size]): # len(explosion_anim[self.size') gives the length of the list of explosion frames
  18. # if we've tried to go past the last frame, delete the sprite
  19. self.kill()
  20. else:
  21. center = self.rect.center # this records the *current* center of the sprite
  22. self.image = explosion_anim[self.size][self.frame] # this sets the image to which ever explosion we are in in the list.
  23. self.rect = self.image.get_rect() # find the rectangle of that image
  24. self.rect.center = center # put the new image's center at the previous center location
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement