При открытии окна PyGame оно сразу закрывается

import pygame
import sys

pygame.init()
win = pygame.display.set_mode((500, 500))

pygame.display.set_caption('Моя игра')

x = 50
y = 50
width = 40
height = 60
speed = 5

run = True
while run:
  pygame.time.delay(100)

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        run = False
        sys.exit()

keys = pygame.key.get_pressed()
 if keys[pygame.K_LEFT]:
    x -= speed
 if keys[pygame.K_RIGHT]:
    x += speed
 if keys[pygame.K_UP]:
    y -= speed
 if keys[pygame.K_DOEN]:
    y += speed

 win.fill((0,0,0))
 pygame.draw.rect(win, (0,0,255), (x, y, width, height))
 pygame.display.update()


pygame.quit()

Ответы (1 шт):

Автор решения: alex9127

Ниже приведён код, который нужен. Я не знаю, из какого образца это было взято Вами, но судя по всему это был фиговый образец.

Лучше держите мой:

import pygame
import sys

pygame.init()
win = pygame.display.set_mode((500, 500))

pygame.display.set_caption('Моя игра')

x = 50
y = 50
width = 40
height = 60
speed = 5

run = True
while run:
    pygame.time.delay(100)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                x -= speed
            if event.key == pygame.K_RIGHT:
                x += speed
            if event.key == pygame.K_UP:
                y -= speed
            if event.key == pygame.K_DOWN:
                y += speed

    win.fill((0,0,0))
    pygame.draw.rect(win, (0,0,255), (x, y, width, height))
    pygame.display.flip()


pygame.quit()
→ Ссылка