pygame, экран не обновляется или не заполняется правильным цветом

#python #pygame

#python #pygame

Вопрос:

Пытаюсь запустить новый проект pygame. Очень простой материал. Просто пытаюсь раскрасить экран. В настоящее время экран открывается и становится белым. В консоли нет ошибок. вот мой код:

 import sys

import pygame
from settings import Settings

def run_game():
  pygame.init()
  ai_settings = Settings()
  screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
  pygame.display.set_caption("Alien Invasion")

  while True:
  
    screen.fill((0,255,0))
    for event in pygame.event.get():

      if event.type == pygame.QUIT:
        sys.exit()
    pygame.display.flip() # same result with .update

run_game()

 

я был бы счастлив, если бы он просто показывал зеленый экран. Есть идеи, в чем может быть моя проблема?

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

1. Ваша программа никогда не пройдет for цикл. Вам нужно поместить flip вызов перед циклом.

2. @TimRoberts Не должно быть никаких событий, кроме того, я переместил его, и экран по-прежнему не становится зеленым

3. @TimRoberts Нет, это неправда. Это хороший цикл приложения, как в любом учебном пособии. pygame.event.get() возвращает список событий, находящихся в данный момент в очереди, и очищает очередь.

4. Проблема не в вашем коде, а в вашей системе.

5. Какую версию pygame вы используете? Вы пытались обновить pygame? Текущая версия 2.1.0. Обновите с pip3 install pygame --upgrade помощью .

Ответ №1:

Обновление до самой последней версии pygame исправило это.

 pip3 install pygame --upgrade
 

спасибо @rabbid76 за решение