为什么我的pygame窗口不显示任何内容?

问题描述 投票:1回答:1

((python 3.8和pygame 1.9.6)

import pygame


pygame.init()
screen = pygame.display.set_mode((400, 300))
done = False

#main loop
while not done:
        for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    done = True
                pygame.draw.rect(screen, (0, 128, 255), pygame.Rect(30, 30, 60, 60))

pygame.display.flip()

是否需要输入import os?

python pygame
1个回答
0
投票

您不更新主循环中的显示。更新指令(pygame.display.flip())在循环之后。矩形的绘制也必须在主循环中完成,而不是在事件循环中完成。注意Indentation

while not done:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True

    # <--|
    pygame.draw.rect(screen, (0, 128, 255), pygame.Rect(30, 30, 60, 60))

    # -->|
    pygame.display.flip()
© www.soinside.com 2019 - 2024. All rights reserved.