我的 Pygame window 仅在我在 window 上移动光标时更新

My Pygame window only updates when i am moving my cursor around on the window

我的 Pygame window 只会在我的光标移动并位于 window 上方时更新。

import pygame

window_length = 1000
window_height = 600
dimensions = (window_length, window_height)
window = pygame.display.set_mode(dimensions)

WHITE = (255, 255, 255)
BLACK = (0,0,0)

main = True

x = 0
y = 0

while main:
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            main = False
            
        x += 1
            
        #redraw background
        pygame.draw.rect(window, BLACK, (0,0, window_length, window_height))
        pygame.draw.rect(window, WHITE, (x, y, 100, 100))
        pygame.display.update()

pygame.quit()

我试过移动东西,但没有用。

取消缩进事件循环下的代码。现在,您只在有事件循环时才执行绘图代码,例如鼠标移动。

它应该看起来像:

while main:

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

    x += 1

    #redraw background
    pygame.draw.rect(window, BLACK, (0,0, window_length, window_height))
    pygame.draw.rect(window, WHITE, (x, y, 100, 100))
    pygame.display.update()