diff options
| author | omagdy7 <omar.professional8777@gmail.com> | 2023-03-20 18:19:31 +0200 |
|---|---|---|
| committer | omagdy7 <omar.professional8777@gmail.com> | 2023-03-20 18:19:31 +0200 |
| commit | 87aa85cdbe3bb90705ba5919206f84d7d6bf9a3d (patch) | |
| tree | 7317c541457527f6ee49e59ccc8d1fb3bf03a253 /src/Player.py | |
| parent | 2ff726514a2d97687c258aa68e12bb06dc894552 (diff) | |
| download | Macpan-87aa85cdbe3bb90705ba5919206f84d7d6bf9a3d.tar.xz Macpan-87aa85cdbe3bb90705ba5919206f84d7d6bf9a3d.zip | |
Organized the project in separate files
Diffstat (limited to 'src/Player.py')
| -rw-r--r-- | src/Player.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/Player.py b/src/Player.py new file mode 100644 index 0000000..f8ebc06 --- /dev/null +++ b/src/Player.py @@ -0,0 +1,48 @@ +from typing import List +from Direction import DIRECTION +import pygame +import settings as Settings + + +def get_sprites(sprite_sheet) -> List: + sheet_width, sheet_height = sprite_sheet.get_size() + sprite_width, sprite_height = 32, 32 + rows = sheet_height // sprite_height + columns = sheet_width // sprite_width + sprites = [] + + for row in range(rows): + for col in range(columns): + x = col * sprite_width + y = row * sprite_height + + # Create a new surface for the current sprite and blit it from the sprite sheet onto this new surface + new_sprite_surface = pygame.Surface((sprite_width, sprite_height), pygame.SRCALPHA) + new_sprite_surface.blit(sprite_sheet, (0, 0), (x, y, x + sprite_width, y +sprite_height)) + + # Add this new surface to our list of sprites + sprites.append(new_sprite_surface) + + return sprites + + +class Player(): + def __init__(self, sprite_sheet): + self.x = Settings.settings.width // 2; + self.y = Settings.settings.height // 2; + self.sprite = get_sprites(sprite_sheet) + self.speed = 5 + self.direction = DIRECTION.LEFT + + def draw(self, screen, counter): + pos = (self.x, self.y) + print(self.direction, DIRECTION.UP) + if self.direction == DIRECTION.UP: + screen.blit(pygame.transform.rotate(self.sprite[counter // 5], 270), pos) + elif self.direction == DIRECTION.DOWN: + screen.blit(pygame.transform.rotate(self.sprite[counter // 5], 90), pos) + elif self.direction == DIRECTION.RIGHT: + screen.blit(pygame.transform.flip(self.sprite[counter // 5], True, False), pos) + elif self.direction == DIRECTION.LEFT: + screen.blit(self.sprite[counter // 5], pos) + |
