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

为何pygame.display.fill()在主显示对象场景下无法生效?

问题原因与解决方法

你的代码里pygame.display.fill()无法工作的核心原因是调用对象错误:

  • pygame.display是Pygame中负责管理显示窗口的模块,它并没有fill()方法。
  • fill()是Surface对象的方法,你通过pygame.display.set_mode()创建的screen变量,才是代表显示窗口的可绘制Surface对象。

修正后的代码如下:

import pygame
pygame.init()

SCREEN_LENGTH = 800
SCREEN_WIDTH = 600

screen = pygame.display.set_mode((SCREEN_LENGTH, SCREEN_WIDTH))
run = True

while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False

    # 修正:调用screen对象的fill方法
    screen.fill((0, 0, 255))
    pygame.display.update()

pygame.quit()

补充说明:

  • 所有针对窗口内容的绘制操作(填充背景、绘制图形等),都需要通过set_mode()返回的Surface对象执行。
  • pygame.display模块的作用是管理窗口生命周期、更新显示内容(比如pygame.display.update())、设置窗口标题等,并不负责具体的像素绘制。

内容的提问来源于stack exchange,提问作者Haseen Siddiqui

相关产品推荐
方舟 Agent Plan

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

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