python pygame模块详解,pygame.event.get()

  python pygame模块详解,pygame.event.get()

  事件- Pygame模块Pygame . event . pump-用于与事件和队列交互-一个在内部处理py game事件的事件处理程序。

  py game . event . Get-从队列中获取事件。

  Pygame.event.poll—从队列中获取单个事件。

  py game . event . Wait-等待队列中的单个事件。

  py game . event . peek-测试事件类型是否正在队列中等待。

  py game . event . clear-从队列中删除所有事件。

  py game . event . event _ name-从中获取字符串名称和事件ID。

  py game . event . set _ blocked-控制队列中允许哪些事件。

  py game . event . set _ allowed-控制队列中允许哪些事件。

  py game . event . get _ blocked-测试某一类型的事件是否被阻止进入队列。

  py game . event . set _ grab-控制与其他应用程序共享输入设备。

  Pygame.event.get_grab—测试程序是否共享输入设备。

  py game . event . post-将新事件放入队列。

  py game . event . event-创建新的事件对象。

  Pygame . event . event type-用于表示SDL事件的py game对象。

  Pygame通过事件队列处理所有事件消息。本模块中的例程可以帮助您管理这个事件队列。输入队列很大程度上依赖于pygame显示模块。如果显示器未初始化且未设置视频模式,事件队列将无法正常工作。该队列是pygame.event.EventTypepygame对象的常规队列,用于表示SDL事件。有许多方法可以访问它包含的事件。只需检查事件的存在,并直接从堆栈中获取它们。所有事件都有一个类型标识符。事件类型是介于值之间的NOEVENT和NUMEVENTS。所有用户定义的事件都可以具有USEREVENT或更高的值。建议您的活动ID遵循此系统。要获得各种输入设备的状态,可以放弃事件队列,使用适当的模块直接访问输入设备;鼠标、按键和操纵杆。如果您使用这种方法,请记住pygame需要与系统窗口管理器和平台的其他部分进行某种形式的通信。为了让pygame与系统保持同步,需要调用pygame.event.pump()来保持最新。你通常在每个游戏周期调用一次这个函数。事件队列提供一些简单的过滤。这可以通过阻止队列中的某些事件类型来略微提高性能。使用pygame.event.set_allowed()和pygame.event.set_blocked()来处理此过滤。默认情况下允许所有事件。应该从主线程调用事件子系统。如果要将事件从其他线程发布到队列,请使用紧固包。在设备初始化之前,操纵杆不会发送任何事件。EventType事件对象包含事件类型标识符和一组组件的数据。该事件不包含方法函数,只包含成员数据。从pygame事件队列中检索EventType对象。您可以使用pygame.event.Event()函数创建自己的新事件。SDL事件队列对它可以保存的事件数量有上限(标准SDL 1.2为128)。当队列变满时,新事件将被悄悄丢弃。为了防止丢失事件,尤其是发出退出命令信号的输入事件,您的程序必须定期检查事件并处理它们。要加速队列处理,请使用pygame.event.set_blocked()来控制队列中允许哪些事件,并限制哪些事件排队。所有EventType实例都有一个事件类型标识符,可以作为EventType.type属性进行访问。您还可以通过此EventType完全访问事件对象的属性。__dict__属性。所有其他成员查找将传递给对象的字典值。在调试和试验时,可以打印事件对象以快速显示其类型和成员。根据类型,系统中的事件将有一组保证成员项。以下是使用每种事件类型定义的事件属性列表。

  不退出

  ACTIVEEVENT增益,状态

  KEYDOWN unicode,key,mod

  键盘输入键,mod

  鼠标运动位置、相关、按钮

  鼠标按钮位置,按钮

  鼠标按钮位置,按钮

  JOYAXISMOTION快乐,轴,值

  快乐,球,释放

  快乐,帽子,价值

  joy button向上joy,button

  joy button向下joy,按钮

  视频调整大小,宽,高

  无视频曝光

  用户事件代码

  支持事件的对等比较。如果两个事件属于同一类型并具有相同的属性值,则它们相等。不等式检查也是有效的。

  Pygame.event.pump()在内部处理Pygame事件处理程序。

  泵()-无

  对于游戏的每一帧,都需要对事件队列进行某种调用。这确保了您的程序可以在内部与操作系统的其余部分进行交互。如果游戏中没有使用其他事件函数,应该调用pygame.event.pump()让pygame处理内部操作。如果程序通过另一个pygame.eventpygame模块与事件和队列函数进行交互,持续处理队列中的事件,则不需要此函数。重要的事情必须在事件队列中处理。主窗口可能需要重画或响应系统。如果长时间调用事件队列失败,系统可能会判断你的程序已经被锁定。

  Pygame.event.get()从队列中获取事件。

  get() -事件列表

  获取(类型)-事件列表

  get(类型列表)-事件列表

  这将获取所有消息并将其从队列中删除。如果给定了类型或类型序列,则只有这些消息会从队列中删除。如果您只从队列中获得特定的事件,请注意,队列最终可能会被您不感兴趣的事件填满。

  Pygame.event.poll()从队列中获取单个事件。

  Poll()-EventType实例

  从队列中返回单个事件。如果事件队列为空,pygame。NOEVENT将立即返回类型的事件。返回的事件将从队列中删除。

  Pygame.event.wait()等待队列中的单个事件。

  wait()-事件类型实例

  从队列中返回单个事件。如果队列是空的,这个函数将一直等到创建了一个队列。返回后,事件将从队列中删除。当程序等待时,它将是空闲的。这对于希望与其他应用程序共享系统的程序来说非常重要。

  Pygame.event.peek()测试事件类型是否在队列中等待。

  peek(类型)- bool

  peek(类型列表)- bool

  如果给定类型的任何事件正在队列中等待,则返回true。如果传递了一系列事件类型,如果队列中有任何事件,它将返回True。

  Pygame.event.clear()从队列中删除所有事件。

  clear() -无

  清除(类型)-无

  清除(类型列表)-无

  从队列中删除所有事件或特定类型的事件。Pygame.event.get()除了不返回之外,效果是一样的。在清除整个事件队列时,这可能会稍微提高效率。

  Pygame.event.event_name()从中获取字符串名称和事件ID。

  事件名称(类型)-字符串

  Pygame使用一个整数id来表示事件类型。如果要向用户报告这些类型,应该将它们转换为字符串。这将返回事件类型的简单名称。该字符串是WordCap样式。

  Pygame.event.set_blocked()控制队列中允许哪些事件。

  set_blocked(类型)-无

  set_blocked(类型列表)-无

  set _ blocked-无

  不允许在事件队列中显示给定的事件类型。默认情况下,所有事件都可以放入队列中。多次禁用该事件类型是安全的。如果None作为参数传递,则会产生相反的效果,ALL允许将事件类型放入队列中。

  Pygame.event.set_allowed()控制队列中允许哪些事件。

  set_allowed(类型)-无

  set_allowed(类型列表)-无

  set_allowed(None) -无

  允许给定的事件类型出现在事件队列中。默认情况下,所有事件都可以放入队列中。多次启用该事件类型是安全的。如果NONE作为参数传递,则None允许将事件类型放入队列中。

  Pygame.event.get_blocked()测试某种类型的事件是否被阻止进入队列。

  get_blocked(类型)- bool

  如果给定的事件类型在队列中被阻止,则返回true。

  Pygame.event.set_grab()控制与其他应用程序共享输入设备。

  set_grab(bool) -无

  当你的程序在窗口环境中运行时,它将与其他应用程序共享鼠标和键盘设备。如果您的程序将事件抓取设置为True,它将锁定程序中的所有输入。最好不要总是抓取输入,因为这会阻止用户在他们的系统上做其他事情。

  Pygame.event.get_grab()测试程序是否共享输入设备。

  get_grab() - bool

  获取此应用程序的输入事件时返回true。使用pygame.event.set_grab()来控制这种状态。

  Pygame.event.post()在队列中放置一个新事件。

  发布(事件)-无

  这会将新事件放在事件队列的末尾。稍后将从其他队列函数中检索这些事件。这通常用于pygame。将事件放入队列。尽管可以放置任何类型的事件,但是如果使用系统事件类型,程序应该确保使用适当的值创建标准属性。如果SDL事件队列已满,将抛出pygame.error标准的pygame异常。

  Pygame.event.Event()创建一个新的事件对象。

  Event(type,dict) - EventType实例

  事件(类型,* *属性)-事件类型实例

  创建具有给定类型的新事件。用给定的属性和值创建事件。属性可以来自带有字符串键或关键字参数的字典参数。

  Pygame.event.EventType是用于表示SDL事件的Pygame对象。

  py game . event . event type . type-SDL事件类型标识符

  py game . event . event type . _ _ dict _ _—事件对象属性的字典

  代表SDL事件的Python对象。使用事件函数调用创建用户事件实例。事件类型不是直接调用。EventType实例支持属性分配和删除。

  类型SDL事件类型标识符。

  int类型

  只读。例如,预定义的事件标识符是QUIT和MOUSEMOTION。对于用户创建的事件对象,这是为创建新事件对象而传递的类型参数。pygame.event.Event()

  __dict__事件对象属性字典

  __字典__ -字典

  只读。事件的特定于事件类型的属性。例如,这将包含KEYDOWN事件的unicode、key和mod属性。的dictionary属性是向后兼容的同义词。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: