python - Pygame 窗口没有关闭
问题描述
我在那个视频中找到了 youtube 上的教程,那个人正在运行这段代码:
import pygame
pygame.init()
win = pygame.display.set_mode((500, 500))
pygame.display.set_caption("Testing")
run = True
while run:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
pygame.quit()
如果 event.type == pygame.QUIT:
当我写“pygame.quit:”而不是“pygame.QUIT:”(在for循环中)时,窗口不会关闭。我是一个完整的初学者。它是我们必须将其大写的命令吗?有人可以解释为什么吗?
解决方案
因为 pygame.quit() 使系统退出并且 exit() 关闭该窗口。
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
更新
事件对象有一个名为type的成员变量(也称为属性或属性),它告诉我们对象代表什么类型的事件。对于 pygame.locals 模块中的每种可能类型,Pygame 都有一个常量变量。
if event.type == pygame.QUIT:
检查Event对象的类型是否等于常量QUIT
这就是为什么我们检查 Event 对象是否是退出事件,然后调用 pygame.quit() 和 exit() 函数。pygame.quit() 函数与 pygame.init() 函数有点相反:它运行停用 Pygame 库的代码。
TLDR;QUIT 表示事件类型,pygame.quit() 是函数
推荐阅读
- javascript - 在我的网站中使用 localStorage 进行翻译,而不是每次我再次访问该页面时都加载它们
- powershell - 脚本属性返回类型的 Pester 测试
- c# - 使用我在列表中使用 Lambda 表达式找到的对象
- c# - WPF 应用程序 - 在运行时请求管理员权限
- python - TensorFlow 多 GPU - NCCL
- java - 如何解决 ORA-12514、TNS:k8s 上的侦听器 - oracle 12
- css - 如何更改 Bootstrap 4 模态标题的字体粗细?
- html - 带箭头的号召性用语按钮
- google-sheets - 查找函数返回无效的整数值
- apache-kafka - 处理器 API:存储在 KeyValueStore 中的事件的批量 POST 请求