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

Pygame中screen.fill()命令未定义错误解决及背景色设置方法

Pygame中screen.fill()未定义错误解决及背景颜色设置方法

错误原因

你调用pygame.display.set_mode()创建窗口时,没有将返回的Surface对象赋值给screen变量,导致后续调用screen.fill()时变量未定义。另外代码缺少Pygame初始化步骤,且pygame.display.update()放在主循环外,即使修复变量问题也无法正常显示背景。

修正后的完整代码

import pygame

# 初始化Pygame
pygame.init()

# 创建窗口并将返回对象赋值给screen变量
screen = pygame.display.set_mode([800, 600])

run = True

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

    # 设置背景颜色为黑色(RGB元组,数值范围0-255)
    screen.fill((0, 0, 0))
    
    # 刷新显示,必须放在主循环内
    pygame.display.update()

# 退出Pygame
pygame.quit()

设置背景颜色的核心步骤

  • 先通过pygame.init()完成Pygame初始化
  • 创建窗口时,一定要将pygame.display.set_mode()的返回值赋值给变量(比如screen)
  • 在主循环内调用screen.fill(RGB颜色元组),RGB值范围是0-255,示例:
    • 红色:screen.fill((255, 0, 0))
    • 白色:screen.fill((255, 255, 255))
  • 每次绘制操作后,调用pygame.display.update()刷新窗口显示

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:25:19