-1

I need this code to have a topdown view of the player and have it follow the player and center on it, so the camera follows the player from a topdown view.

import pygame

class Elio:
    def __init__(self):
        self.size = ((700,700))
        self.speed = 5  # Reduced speed for smoother movement
    
    def main(self):
        # setup
        pygame.init()
        screen = pygame.display.set_mode((800, 600))
        player_img = pygame.image.load('ElioMoveRight.png')
        player_img = pygame.transform.scale(player_img, self.size)  # Scale the player image
        player_rect = player_img.get_rect()
        player_rect.topleft = (100, 100)  # Set initial position
        
        clock = pygame.time.Clock()

        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    pygame.quit()
                    return
            
            keys = pygame.key.get_pressed()

            # Movement
            if keys[pygame.K_d]:
                player_img = pygame.image.load('ElioMoveRight.png')
                player_img = pygame.transform.scale(player_img, self.size)
                player_rect.x += self.speed
            if keys[pygame.K_a]:
                player_img = pygame.image.load('ElioMoveLeft.png')
                player_img = pygame.transform.scale(player_img, self.size)
                player_rect.x -= self.speed
            if keys[pygame.K_w]:
                player_rect.y -= self.speed
            if keys[pygame.K_s]:
                player_rect.y += self.speed

            screen.fill((0, 0, 0))
            screen.blit(player_img, player_rect)
            pygame.display.flip()
            
            clock.tick(60)

if __name__ == "__main__":
    elio = Elio()
    elio.main()

tried to implement camera but none worked (no code of that remaining)

0 Answers0