Untitled

 avatar
unknown
plain_text
a day ago
1.9 kB
7
Indexable
import pygame

class Player:
    def start(self, x, y):
        self.alive = True
        self.lives = 3
        self.main_sprites = [ pygame.image.load("images/player/player-health-0.png"),
                              pygame.image.load("images/player/player-health-1.png"),
                              pygame.image.load("images/player/player-health-2.png"),
                              pygame.image.load("images/player/player-health-3.png")]
        self.engine_sprite = pygame.image.load("images/player/engine.png")
        self.boost_sprites = self.split_up_spritesheet(pygame.image.load("images/player/engine-flames.png"),48, False)
        self.frames_sprites = self.boost_sprites[0]
        self.image = self.main_sprites[self.lives]
        self.timer = 0
        self.sprite_time = 5 
        self.position = self.image.get_rect()
        self.position.center = (x, y)

        
    def animate(self):
        self.image = self.main_sprites[self.lives]
        index = self.timer // self.sprite_time % len(self.boost_sprites)

        self.frame_sprite = self.boost_sprites[index]

        self.timer += 1

   

    def draw(self, screen):
        if self.alive:
            self.animate()
            screen.blit(self.engine_sprite, self.position )   #blit() - image, position
            screen.blit(self.image, self.position)
            screen.blit(self.frames_sprites, self.position)

    
    

    def split_up_spritesheet(self, spritesheet, size, flipped = False):
        sprite_list = []
        number_of_sprites = spritesheet.get_width() // size  

        for x in range(number_of_sprites):
            sprite = spritesheet.subsurface(x * size, 0, size, size) #x, y, width, height 
            sprite = pygame.transform.flip(sprite, flipped, False )

            sprite_list.append(sprite)


        return sprite_list











Editor is loading...
Leave a Comment