【问题标题】:pygame, screen not updating or filling with correct colorpygame,屏幕没有更新或填充正确的颜色
【发布时间】:2021-12-11 04:51:17
【问题描述】:

尝试开始一个新的 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()

如果它只是显示一个绿屏,我会很高兴。任何想法我的问题可能是什么?

【问题讨论】:

  • 您的程序将永远无法通过for 循环。您需要将flip 调用放在循环之前。
  • @TimRoberts 应该不会触发任何事件,我也移动了它,但它仍然没有将屏幕变为绿色
  • @TimRoberts 不,这不是真的。这是一个很好的应用程序循环,就像在任何教程中一样。pygame.event.get() 正在返回当前队列中的事件列表并清除队列。
  • 问题不在于你的代码,而在于你的系统。
  • 你用的是什么版本的pygame?您是否尝试更新 pygame?当前版本是 2.1.0。更新为pip3 install pygame --upgrade

标签: python pygame


【解决方案1】:

升级到最新版本的 pygame 解决了这个问题。

pip3 install pygame --upgrade

感谢@rabbid76 的解决方案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 2021-02-22
    相关资源
    最近更新 更多