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
相关产品推荐
相关产品推荐

