Pygame窗口反复闪烁求助:仅调用display.update仍闪黑白
Pygame窗口黑白闪烁问题修复
问题根源
你把pygame.display.set_mode()放在了主循环内部,每次循环都会重新创建一个新的窗口实例。窗口初始化时默认是黑色,紧接着你填充白色并更新显示,这就导致窗口在“新建黑色窗口→填充白色→更新显示”的循环里反复切换,最终出现黑白闪烁的现象。
修正后的代码
import pygame running = True pygame.init() White = (255, 255, 255) # 将窗口创建移到循环外,只初始化一次 screen = pygame.display.set_mode((1400, 800)) while running == True: screen.fill(White) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.display.update()
补充说明
- 换成
pygame.display.flip()没用,是因为闪烁的核心原因是重复创建窗口,和刷新方法无关; - 把
pygame.display.update()移到循环外时,循环里一直在重复创建黑色窗口,最后只更新一次显示,所以看到的是最后创建的黑色窗口。
内容的提问来源于stack exchange,提问作者Dragonsy
相关产品推荐
相关产品推荐

