Python pygame在我关闭之前不会显示任何内容

Python pygame在我关闭之前不会显示任何内容,python,pygame,Python,Pygame,我编写了以下代码: import pygame from pygame.locals import ( K_UP, K_DOWN, K_LEFT, K_RIGHT, K_ESCAPE, KEYDOWN, QUIT, ) pygame.init() SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN

我编写了以下代码:

import pygame

from pygame.locals import (
    K_UP,
    K_DOWN,
    K_LEFT,
    K_RIGHT,
    K_ESCAPE,
    KEYDOWN,
    QUIT,
)

pygame.init()


SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))


running = True

while running:
     for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.key == K_ESCAPE:
                running = False
        elif event.type == QUIT:
            running = False

screen.fill((255, 255, 255))
surf = pygame.Surface((50, 50))
surf.fill((0, 0, 0))
rect = surf.get_rect()

screen.blit(surf, (SCREEN_WIDTH/2, SCREEN_HEIGHT/2))
pygame.display.flip() 

但是在我关闭它之后,它只在程序中显示了2/3帧的代码。我知道以前有人问过这个问题,但循环中存在一些问题,但就我所知,循环是正确的。这段代码中的错误是什么?

Python使用缩进来控制范围。您的绘图代码超出了游戏循环的范围。如果将所有绘图代码缩进到游戏循环中,那么将一直绘制到退出循环。

Python使用缩进来控制范围。您的绘图代码超出了游戏循环的范围。如果您将所有绘图代码缩进到游戏循环中,那么将一直绘制到退出循环。

您的索引是否与代码中的一样?屏幕下方的全部代码。填充。。。不是while循环的一部分,只有在运行为false后才会执行。不需要索引“running=false”后的部分不在循环中那么绘图在哪里发生了多次?您的索引与代码中的索引类似吗?屏幕下方的全部代码。填充。。。不是while循环的一部分,只有在运行为false后才会执行。不需要索引“running=false”后的部分不会进入循环那么绘图会在哪里发生多次?哦,谢谢你愚蠢的错误我是新手@noobius哦,谢谢你愚蠢的错误我是新手@noobius