pygame.event.Event().type == pygame.QUIT,confusion

Ben*_*ey4 5 python pygame class

在pygame循环中考虑以下这些行:

ev = pygame.event.poll()
ev.type == pygame.QUIT
Run Code Online (Sandbox Code Playgroud)

来自:http://openbookproject.net/thinkcs/python/english3e/pygame.html

据我所知,该函数pygame.event.poll()在pygame包的事件模块中创建了一个Event类的实例.

I.现在ev.type是一个属性调用(?),但我怎么知道它可以有哪些值?你怎么能从pygame文档中告诉它有可能等于pygame.QUIT?

II.pygame.QUIT究竟是什么?它是如何获得价值的?

III.help('pygame.QUIT')pygame.QUIT = class int(object).你怎么称呼这个建筑?

Amb*_*ber 6

ev = pygame.event.poll()
Run Code Online (Sandbox Code Playgroud)

是对函数的调用,该函数从事件队列返回单个事件(基本上,是您的应用程序可能想要了解的事件列表).它将该事件(它是一个Event对象)分配给变量ev.

ev.type
Run Code Online (Sandbox Code Playgroud)

获取该对象的type属性值Event,这是一个数值常量.

== pygame.QUIT
Run Code Online (Sandbox Code Playgroud)

检查它是否等于定义为的数值常数pygame.QUIT.

可能的事件类型列在http://www.pygame.org/docs/ref/event.html-我也在这里复制粘贴列表(其中还列出了与每个事件一起传递的相关属性):

QUIT             none
ACTIVEEVENT      gain, state
KEYDOWN          unicode, key, mod
KEYUP            key, mod
MOUSEMOTION      pos, rel, buttons
MOUSEBUTTONUP    pos, button
MOUSEBUTTONDOWN  pos, button
JOYAXISMOTION    joy, axis, value
JOYBALLMOTION    joy, ball, rel
JOYHATMOTION     joy, hat, value
JOYBUTTONUP      joy, button
JOYBUTTONDOWN    joy, button
VIDEORESIZE      size, w, h
VIDEOEXPOSE      none
USEREVENT        code
Run Code Online (Sandbox Code Playgroud)


Ism*_*awi 5

pygame.QUIT只是一个int恰好在pygame模块内部定义的常量。

>>> import pygame
>>> pygame.QUIT
12
Run Code Online (Sandbox Code Playgroud)

这是文档中的相关页面:http : //www.pygame.org/docs/ref/event.html。您可以看到所有可能的事件类型(就在评论上方)。


nin*_*key 5

pygame.QUIT当用户单击窗口的"X"按钮时,或系统"询问"进程退出时发送.如果忽略,它仍然可以被系统杀死.它让你在退出前保存.