用pygame生成主屏幕后,会产生无响应。如下图:
正确做法后面必须写以下代码,否则界面会一直循环,导致无响应
# 初始函数,使用 pygame 的第一步;
pygame.init()
# 生成主屏幕
screen = pygame.display.set_mode((600, 500), 0, 32)
# 设置标题
pygame.display.set_caption('Hello Pygame')
# 窗口无响应是因为没有任何注册在窗口上的事件
# 为当前窗口增加事件
# 利用pygame注册事件,其返回值是一个列表,
# 存放当前注册时获取的所有事件
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
到这一步后,关闭会报错,如下图:
因此后面还得加上sys.exit(),才能正常退出
# 初始函数,使用 pygame 的第一步;
pygame.init()
# 生成主屏幕
screen = pygame.display.set_mode((600, 500), 0, 32)
# 设置标题
pygame.display.set_caption('Hello Pygame')
# 窗口无响应是因为没有任何注册在窗口上的事件
# 为当前窗口增加事件
# 利用pygame注册事件,其返回值是一个列表,
# 存放当前注册时获取的所有事件
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit() # 如果没有sys.exit()系统还会运行下去,但是pygame已经卸载了。
这篇博客介绍了在使用Pygame创建主屏幕后遇到窗口无响应的问题及其解决方案。通过在while循环中监听并处理pygame.QUIT事件,可以避免窗口无响应。然而,仅使用pygame.quit()关闭程序会导致程序仍在后台运行,需要额外调用sys.exit()确保程序完全退出。正确代码示例展示了如何处理这两个问题。
8454

被折叠的 条评论
为什么被折叠?



