I've been trying to work through some tutorials for pygame, and have hit a bit of a roadblock. When I open my program, I cannot get the arrow keys to move my player at all. I'm confused because the escape key works fine when attempting to close the game. What am I doing wrong here? Thank you in advance.
import pygame
from pygame.locals import (
K_UP,
K_DOWN,
K_LEFT,
K_RIGHT,
K_ESCAPE,
KEYDOWN,
QUIT,
)
SCREEN_WIDTH = 750
SCREEN_HEIGHT = 500
class Player(pygame.sprite.Sprite):
def __init__(self):
super(Player, self).__init__()
self.surf = pygame.Surface((75, 25))
self.surf.fill((255, 255, 255))
self.rect = self.surf.get_rect()
def update(self, pressed_keys):
if pressed_keys [K_UP]:
self.rect.move_ip(0, -5)
if pressed_keys [K_DOWN]:
self.rect.move_ip(0, 5)
if pressed_keys [K_LEFT]:
self.rect.move_ip(-5, 0)
if pressed_keys [K_RIGHT]:
self.rect.move_ip(-5, 0)
pygame.init()
screen = pygame.display.set_mode([SCREEN_WIDTH, SCREEN_HEIGHT])
player = Player()
running = True
while running:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_ESCAPE:
running = False
elif event.type == QUIT:
running = False
pressed_keys = pygame.key.get_pressed()
player.update(pressed_keys)
screen.fill((0,0,0))
screen.blit(player.surf, (SCREEN_WIDTH/2, SCREEN_HEIGHT/2))
pygame.display.flip()
pygame.quit() ```