I am creating a simple game in PyGame. But the problem is that whenever I hold down a key, my character stops moving after one step and does not move until I release the key and press it again. The code is following.
pygame.init()
screen_width = 800
screen_height = 800
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("SPACE INVADER")
icon = pygame.image.load("game-controller.png")
pygame.display.set_icon(icon)
player_img = pygame.image.load("Webp.net-resizeimage.png")
playerX = 400
playerY = 700
playerX_change = 0
def player(x, y):
screen.blit(player_img, (x, y))
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
playerX_change = -5
if event.key == pygame.K_RIGHT:
playerX_change = 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
playerX_change = 0
playerX += playerX_change
screen.fill((0, 0, 0))
player(playerX, playerY)
pygame.display.update()