You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何我的Pygame代码无法将屏幕转为白色?

问题解决:Pygame屏幕无法显示白色的原因及修复

你的代码已经调用screen.fill((255, 255, 255))填充白色,但屏幕仍显示黑色,核心问题是没有刷新显示缓冲区——Pygame不会自动将绘制内容同步到窗口,必须手动调用屏幕刷新函数。

修复步骤

在screen.fill((255, 255, 255))代码行之后,添加以下任意一行即可:

  • pygame.display.flip():刷新整个屏幕区域
  • pygame.display.update():无参数时效果与flip()一致,也可指定刷新区域

修改后的完整代码

import pygame

from pygame.locals import (
    K_UP,
    K_DOWN,
    K_LEFT,
    K_RIGHT,
    K_ESCAPE,
    KEYDOWN,
    QUIT,
)

pygame.init()
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
running = True

while running:
    for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.key == K_ESCAPE:
                running = False
        elif event.type == QUIT:
            running = False
    screen.fill((255, 255, 255))
    # 添加屏幕刷新语句
    pygame.display.flip()

补充说明

Pygame的所有绘制操作都是在内存中的Surface对象上进行的,只有调用刷新函数,才会把内存中的内容渲染到实际显示窗口,这是Pygame的核心渲染机制之一。

内容的提问来源于stack exchange,提问作者Noah Barker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 12:07:02