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)