Черный фон Pygame имеет искаженное/разбитое изображение

#python #pygame

Вопрос:

Я начал базовый проект с pygame и попытался настроить основы.

 import pygame  BLACK = (0, 0, 0) WHITE = (200, 200, 200) SIZE = width, height = 500, 700  def main() -gt; None:  global SCREEN  pygame.init()   SCREEN = pygame.display.set_mode(SIZE)  pygame.display.set_caption('Tetronur')  running = True  SCREEN.fill(BLACK)   while running:  draw()  for event in pygame.event.get():  if event.type == pygame.QUIT:  running = False      def draw():  rect = pygame.Rect(100, 100, 400, 600)  pygame.draw.rect(SCREEN, WHITE, rect, 1)   if __name__ == '__main__':  main()  

Но дело в том, что когда я запускаю код, я получаю экран, выглядящий так:

??

PS: Я использую Python 3.9.6 и Pygame 2.0.1

Комментарии:

1. Вам нужно позвонить pygame.display.update() в какой-то момент, чтобы обновить дисплей draw , например, в конце. В противном случае все сделанные вами рисунки не будут иметь видимого эффекта.

Ответ №1:

Pygame рисует на скрытом экране, вы должны вызвать pygame.display.flip() или pygame.display.update() после рисования, чтобы этот скрытый экран отображался на реальном экране.