Lsty-_ 2023-10-11 16:41 采纳率: 100%
浏览 8
已结题

python按键如何区分短按和长按

  1. 以下是我定义的一个用来检测键盘按键输入的函数,这个是长按识别(类似于人物行走,长按就是一直行走)。在这其中我想让空格键不能被长按识别,就是按下空格键就识别一次,网上也没有找到相关的题材,麻烦各位dl帮忙看看,谢谢了。
def Key_control(Myobj):
    # 获取键盘事件
    eventList = pygame.event.get()
    for event in eventList:
        if event.type == QUIT:
            print('退出')
            exit()
        elif event.type == KEYDOWN:
            if event.key == K_a or event.key == K_LEFT:
                Myobj.key_left_status = True
            elif event.key == K_d or event.key == K_RIGHT:
                Myobj.key_right_status = True
            elif event.key == K_w or event.key == K_UP:
                Myobj.key_up_status = True
            elif event.key == K_s or event.key == K_DOWN:
                Myobj.key_down_status = True
            elif event.key == pygame.K_SPACE:
                Myobj.key_space = True

        elif event.type == KEYUP:
            if event.key == K_a or event.key == K_LEFT:
                Myobj.key_left_status = False
                # 检测按键是否是d或者方向键right
            elif event.key == K_d or event.key == K_RIGHT:
                Myobj.key_right_status = False
            elif event.key == K_w or event.key == K_UP:
                Myobj.key_up_status = False
            elif event.key == K_s or event.key == K_DOWN:
                Myobj.key_down_status = False
            elif event.key == pygame.K_SPACE:
                Myobj.key_space = False

  • 写回答

1条回答 默认 最新

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月11日

悬赏问题

  • ¥15 如何利用c++ MFC绘制复杂网络多层图
  • ¥20 要做柴油机燃烧室优化 需要保持压缩比不变 请问怎么用AVL fire ESE软件里面的 compensation volume 来使用补偿体积来保持压缩比不变
  • ¥15 python螺旋图像
  • ¥15 算能的sail库的运用
  • ¥15 'Content-Type': 'application/x-www-form-urlencoded' 请教 这种post请求参数,该如何填写??重点是下面那个冒号啊
  • ¥15 找代写python里的jango设计在线书店
  • ¥15 请教如何关于Msg文件解析
  • ¥200 sqlite3数据库设置用户名和密码
  • ¥15 AutoDL无法使用docker install吗?
  • ¥15 cups交叉编译后移植到tina sdk的t113,只需要实现usb驱动打印机,打印pdf文件