@mcmikey

Почему окно pygame не отвечает?

Я написал простой код для передвижения квадрата по окну. Но по какой то причине квадрат не двигается и если кликнуть по окну оно перестает отвечать. Смотрел другие форумы но ничего не помогло.
Вот сам код -
import pygame

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

pygame.display.set_caption("Adventure")

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

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

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

    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_DOWN]:
        y += speed
        
    pygame.draw.rect(win,(0, 0, 255), (x, y, width, height))
    pygame.display.update()

    input()
  • Вопрос задан
  • 1358 просмотров
Решения вопроса 1
@o5a
Так не нужно включать консольный ввод input() в цикл работы pygame, у Вас окно "зависает" потому что постоянно ждет ввод в консоль. Никаких input быть не должно.

Заодно, если рисуете квадрат, стоит добавить очистку экрана перед pygame.draw..., чтобы за ним не тащился "след".
win.fill((0,0,0))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы