首页 > 解决方案 > PyGame 绘制一个空白窗口直到退出

问题描述

这是我的代码:

import pygame
pygame.init()
screen = pygame.display.set_mode((200,200))
clock = pygame.time.Clock()
while True:
    color = (100,100,200)
    screen.fill(color)
    pygame.display.flip()
    clock.tick(60)

我认为这应该创建一个 200x200 的窗口并用 RGB 颜色(100,100,200)填充它。取而代之的是,它会创建一个空白的 200x200 窗口。当我 control-c 退出时,窗口会闪烁一两帧的正确颜色,然后关闭。为什么是这样?

标签: pythonmacospygame

解决方案


感谢 PyGame Discord 服务器上的 Siliconwolf,答案如下:

如果您不使用 处理 PyGame 事件pygame.event.get(),则必须pygame.event.pump()在循环开始时使用,否则窗口将冻结。但是,pygame.event.get()强烈首选,因为否则您可能会遇到关闭窗口的问题。


推荐阅读