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 之类的东西?

4

1 回答 1

0

这是一个缩进的问题:

  1. 您需要主循环中而不是主循环 ( pygame.display.flip()) 之后更新显示。
  2. 您需要在应用程序循环中而不是在事件循环中绘制矩形:
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

    # INDENTATION

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

#-->|
    pygame.display.flip()
于 2019-11-02T16:40:43.660 回答