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

Pygame屏幕无法变色求助:设置颜色后始终显示黑色

解决Pygame屏幕始终显示黑色的问题

你的问题出在代码执行顺序上:screen.fill((0, 0, 255))和pygame.display.update()这两行被放在了while循环的外面,它们只会在循环结束(你关闭窗口)时执行一次,而循环运行期间屏幕完全没有被更新,所以一直显示初始的黑色。

修正后的代码如下:

import pygame

pygame.init()

# 创建屏幕
screen = pygame.display.set_mode((800, 600))

pygame.display.set_caption("space invaders")
icon = pygame.image.load('ufo(1).png')
pygame.display.set_icon(icon)

running = True
while running:
    # 事件处理
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
    
    # 填充屏幕颜色
    screen.fill((0, 0, 255))
    # 更新显示
    pygame.display.update()

把填充和更新操作放在while循环内部后,每次循环都会重新绘制屏幕颜色并刷新显示,这样你就能看到蓝色的屏幕了。如果后续要添加其他绘制元素(比如飞船、敌人),也要把绘制代码放在screen.fill()之后、pygame.display.update()之前,避免被背景色覆盖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:30:42