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

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日