目录
pygame.event.pump
()
功能:内部进程pygame事件处理程序
属性:pump() -> None
- 对于游戏的每一帧,都需要对事件队列进行某种调用。这可以确保程序可以与操作系统的其他部分进行内部交互。如果在游戏中不使用其他事件函数,则应调用
pygame.event.pump()
允许pygame处理内部操作。 - 如果您的程序通过其他
pygame.event
函数处理队列上的事件,则不需要此函数功能。 - 在事件队列中有一些重要的事情必须在内部处理。主窗口可能需要重新喷绘或响应系统。如果调用事件队列的时间过长,系统可能会确定您的程序已锁定。
注意:此函数只应在初始化 pygame.display
的线程中调用。
pygame.event.
get
()
功能:从队列中获取事件
属性:
- get(eventtype=None) -> Eventlist
- get(eventtype=None, pump=True) -> Eventlist
- 此函数将获取所有消息并将其从队列中移除。如果给定类型或类型序列,则只会从队列中删除这些消息。
- 如果只从队列中获取特定事件,队列最终可能会填满其他事件。
- 如果
pump
是True
(默认),则会调用pygame.event.pump()
。
New in pygame 1.9.5: pump
pygame.event.
poll
()
功能:从队列中获取单个事件
属性:poll() -> EventType instance
从队列中返回单个事件。如果事件队列为空,则 pygame.NOEVENT
将立即返回。返回的事件将从队列中删除。
注意:此函数只应在初始化 pygame.display
的线程中调用。
pygame.event.
wait
()
功能:等待队列中的单个事件
属性:wait() -> EventType instance
从队列中返回单个事件。如果队列为空,则此函数将等到创建一个队列。事件一旦返回就从队列中删除。当程序等待时,它将以空闲状态睡眠。对希望与其他应用程序共享系统的程序很重要。
注意:此函数只应在初始化 pygame.display
的线程中调用。
pygame.event.
peek
()
功能:测试事件类型是否正在队列中等待
属性:
- peek(eventtype=None) -> bool
- peek(eventtype=None, pump=True) -> bool
- 如果队列中有任何给定类型的事件正在等待,则返回
True
。如果传递了一系列事件类型且队列中存在,则返回True
。 - 如果
pump
是True
(默认),则会调用pygame.event.pump()
。
New in pygame 1.9.5: pump
pygame.event.
clear
()
功能:从队列中删除所有事件
属性:
- clear(eventtype=None) -> None
- clear(eventtype=None, pump=True) -> None
- 从队列中删除所有事件。如果给定
eventtype
,则移除给定的事件或事件序列。此函数除了None
也会被返回外效果与函数pygame.event.get()
相同。当清除一个完整的事件队列时,效率会稍微高一些。 - 如果
pump
是True
(默认),则会调用pygame.event.pump()
。
New in pygame 1.9.5: pump
pygame.event.
event_name
()
功能:从事件id获取字符串名称
属性:event_name(type) -> string
- 返回表示给定事件类型的名称(大写字母样式)的字符串。
- 为用户事件ID范围中的所有值返回"UserEvent" 。当事件类型不存在时返回"Unknown"。
pygame.event.
set_blocked
()
功能:控制队列中允许哪些事件
属性:
- set_blocked(type) -> None
- set_blocked(typelist) -> None
- set_blocked(None) -> None
- 给定的事件类型不允许出现在事件队列中。默认情况下,所有事件都可以放置在队列中。
- 多次禁用事件类型是安全的。
- 如果
None
作为参数传递,则阻止将所有事件类型放置在队列中。
pygame.event.
set_allowed
()
功能:控制队列中允许哪些事件
属性:
- set_allowed(type) -> None
- set_allowed(typelist) -> None
- set_allowed(None) -> None
- 允许给定的事件类型出现在事件队列中。默认情况下,所有事件类型都可以放置在队列中。
- 多次启用事件类型是安全的。
- 如果
None
作为参数传递,则允许将所有事件类型放置在队列中。
pygame.event.
get_blocked
()
功能:测试是否从队列中阻止了某一类型的事件
属性:
- get_blocked(type) -> bool
- get_blocked(typelist) -> bool
如果队列中阻止了给定的事件类型,则返回 True
。如果传递了一系列事件类型,则如果其中任何事件类型被阻止,则返回 True
。
pygame.event.
set_grab
()
功能:控制输入设备与其他应用程序的共享
属性:set_grab(bool) -> None
- 当程序在窗口环境中运行时,它将与其他有焦点的应用程序共享鼠标和键盘设备。如果程序将事件抓取设置为True,它将锁定程序中的所有输入。
- 最好不要总是获取输入,因为这样会阻止用户在系统上执行其他操作。
pygame.event.
get_grab
()
功能:测试程序是否共享输入设备
属性:get_grab() -> bool
此应用程序的输入事件被抓取时返回 True
。
pygame.event.
post
()
功能:在队列中放置新事件
属性:post(Event) -> None
- 将给定事件放置在事件队列的末尾。
- 通常用于在队列中放置
pygame.USEREVENT
事件。尽管可以放置任何类型的事件,但如果使用系统事件类型,程序应确保使用适当的值创建标准属性。 - 如果事件队列已满会提起
pygame.error
文件。
pygame.event.
custom_type
()
功能:生成自定义用户事件类型
属性:custom_type() -> int
- 预订一个
pygame.USEREVENT
事件用于自定义用途。 - 如果事件太多会提起
pygame.error
文件。
New in pygame 2.0.0.dev3.
pygame.event.
Event
()
功能:创建新事件对象
属性:
- Event(type, dict) -> EventType instance
- Event(type, **attributes) -> EventType instance
创建具有给定类型和属性的新事件。属性可以来自具有字符串键的字典参数,也可以来自关键字参数。
pygame.event.
EventType
属性:表示事件的pygame对象
pygame.event.EventType.type | 事件类型标识符 |
pygame.event.EventType.__dict__ | 事件属性字典 |
一个pygame对象代表一个事件。用户事件实例通过调用 pygame.event.Event()
函数创建。 EventType
类型不可直接调用。 EventType
实例支持属性分配和删除。
type
功能:事件类型标识符
属性:type -> int
只读。对于用户创建的事件对象,这是传递给 pygame.event.Event()
的类型参数。
__dict__
功能:事件属性字典
属性:__dict__ -> dict
只读。事件的事件类型特定属性。dict属性是向后兼容性的。【例如,KEYDOWN事件的属性是unicode、key和mod。】
New in pygame 1.9.2: Mutable attributes.