Skip to content

Instantly share code, notes, and snippets.

@Gwith
Created April 27, 2017 15:33
Show Gist options
  • Save Gwith/67cc68d060626b96d865f272d37295a5 to your computer and use it in GitHub Desktop.
Save Gwith/67cc68d060626b96d865f272d37295a5 to your computer and use it in GitHub Desktop.
class Explosion(pygame.sprite.Sprite):
def __init__(self, center, size):
pygame.sprite.Sprite.__init__(self)
self.size = size
self.image = explosion_anim[self.size][0]
self.rect = self.image.get_rect()
self.rect.center = center
self.frame = 0 # set frame to 0 (game loop increases frame by 1)
self.last_update = pygame.time.get_ticks() # set last_update to gametime in miliseconds (since object initaited)
self.frame_rate = 50
def update(self):
now = pygame.time.get_ticks() # set now to gametime in miliseconds (since update method ran)
if now - self.last_update > self.frame_rate: # if now - class attribute greater than 50
self.last_update = now # update class attribute to now
self.frame += 1 # add 1 to frame when update method is ran if conditional is met
if self.frame == len(explosion_anim[self.size]): # this part I do not understand, the length of what exactly
self.kill()
else:
center = self.rect.center # find new center of which image? I'm not sure.
self.image = explosion_anim[self.size][self.frame] # this sets the image to which ever explosion we are in in the list.
self.rect = self.image.get_rect() # find the rectangle of that image
self.rect.center = center # find the center of that rectangle
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment