Python - 基于pygame -2

Demo - 2 事件检索

使用pygame.event 处理

pygame.event.get() : 打开门让所有人进入
pygame.event.wait() : 发生一个事件再继续,类似于你盯着看,来一个放一个(一般游戏不会使用,因为游戏往往是动态运作)
pygame.event.poll() : 一旦调用,会根据实际情形返回一个真实的事件,或者一个"什么都没有"

pygame.mouse.get_pos() : 得到当前鼠标位置

事件检索 使用事件集 处理
使用事件获得鼠标位置,处理鼠标事件

MOUSEMOTION : 事件会在鼠标动作的时候发生,它有三个参数:
       buttons – 一个含有三个数字的元组,三个值分别代表左键、中键和右键,1就是按下了。
       pos – 位置
       rel – 代表了现在距离上次产生鼠标事件时的距离

MOUSEBUTTONDOWN / MOUSEBUTTONUP : # button – 代表了哪个按键被操作
                                pos – 位置

事件过滤

pygame.event.set_blocked(事件名) :      eg:pygame.event.set_blocked([KEYDOWN, KEYUP]),如果设置参数None,那么所有的事件都被打开了,
pygame.event.set_allowed() : 与上面相对的,我们使用来设定允许的事件。

产生事件 eg:

my_event = pygame.event.Event(KEYDOWN, key=K_SPACE, mod=0, unicode=u' ')

或者:

my_event = pygame.event.Event(KEYDOWN, {"key":K_SPACE, "mod":0, "unicode":u' '})
pygame.event.post(my_event)

产生自定义全新事件

 CATONKEYBOARD = USEREVENT + 1
 my_event = pygame.event.Event(CATONKEYBOARD, message="Bad cat!")

 pgame.event.post(my_event)

然后获得它

for event in pygame.event.get():
   if event.type == CATONKEYBOARD:
      print event.message
Pygame-事件检索.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,951评论 19 139
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,300评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,967评论 25 708
  • 粤语歌总能直戳人心,但感觉风格一以贯之,很有安全感,但好像体会不到万花丛中一抹绿的感动和惊喜。 人闲下来的时候,就...
    好想读懂全世界阅读 534评论 0 0
  • 1.查看主目录下是否有对应gradle版本。目录位于 ~\.gradle\.gradle\wrapper\dist...
    gtanyin阅读 444评论 0 0

友情链接更多精彩内容