Поправьте код (оберните тэгом для Python).
Пока вижу такие ошибки:
1. pygame.QUIT написан нижним регистром, поэтому программа не будет закрываться
2. 2 отдельных цикла по эвентам, поэтому 2-й не отрабатывает (все в 1-м прокручивается)
Нужно все проверки эвентов внести в один цикл, например так
...
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x -= velocity
if event.key == pygame.K_RIGHT:
x += velocity
if event.key == pygame.K_UP:
y -= velocity
if event.key == pygame.K_DOWN:
y += velocity
# здесь же и проверка на выход из программы
elif event.type==pygame.QUIT:
run = False
pygame.quit()
quit()
3. Загрузку картинок (фона и игрока) лучше вынести за пределы цикла, неэффективно каждый раз их загружать. В цикле оставить только сам 'blit'.
4. На отрисовку картинки заданы фиксированные координаты вместо x,y
Т.е. должно быть
screen.blit(player_img,(x,y))