pygame实现鼠标键盘监听事件响应,有趣的实验

本文围绕PyGame的鼠标键盘事件展开。介绍了事件类型及属性,阐述键盘操作相关函数,包括按键按下和释放时的事件消息、键盘常量等,还说明了鼠标操作,最后给出键盘和鼠标监听案例。

一、PyGame 鼠标键盘事件

事件类型有很多种,例如: QUIT 和 MOUSEMOTION 等, 这些预定义的事件类型作为常量定义在 pygame.local 模块中,下面这些是最早的事件类型和它们的属性,后面不同的版本又补充了例如手势等事件,具体参考官方文档:

QUIT              none
ACTIVEEVENT       gain, state
KEYDOWN           key, mod, unicode, scancode
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

我们可以在程序中模拟一下:

import pygame
pygame.init()
resolution = width, height = 480, 700
windowSurface = pygame.display.set_mode(resolution)  # 设置分辨率并得到全局的绘图表面
pygame.display.set_caption("鼠标键盘操作")

clock = pygame.time.Clock()
while True:
    # 处理用户输入
    for event in pygame.event.get():
        # 处理事件
        print(str(event))

    # 刷新界面
    pygame.display.flip()

    # 时钟停留一帧的时长
    clock.tick(60)

通过print(str(event))然后在运行过程就,就会输出很多信息。
在这里插入图片描述
输出的数据有:

<Event(5-MouseButtonDown {
   
   'pos': (162, 375), 'button': 1, 'window': None})>
<Event(6-MouseButtonUp {
   
   'pos': (162, 375), 'button': 1, 'window': None})>
<Event(2-KeyDown {
   
   'unicode': '', 'key': 100, 'mod': 0, 'scancode': 32, 'window': None})>
<Event(3-KeyUp {
   
   'key': 100, 'mod': 0, 'scancode': 32, 'window': None})>
<Event(2-KeyDown {
   
   'unicode': '', 'key': 102, 'mod': 0, 'scancode': 33, 'window': None})>
<Event(3-KeyUp {
   
   'key': 102, 'mod': 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值