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

