You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pygame计时器检测指定时长内X按键的按下操作

Pygame按键计时检测实现需求及代码

功能需求

  • 检测X按键是否在time_between_attacks[hit]指定的时长内被按下
  • 将检测间隔设置为time_between_attacks[hit]/10

实现代码

def display_battle(self,screen,enemy_list):
    print(enemy_list)
    clock = pygame.time.Clock()

    # 攻击次数相关变量
    hit = 0
    total_hits = 3
    time_between_attacks = [5,4,3]  # 各阶段允许的按键时长(秒)
    run = True
    start_ticks=pygame.time.get_ticks()
    while run:
        seconds=(pygame.time.get_ticks()-start_ticks)/1000
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                exit()          
            keys = pygame.key.get_pressed()
            if keys[pygame.K_x]:
                seconds=(pygame.time.get_ticks()-start_ticks)/1000
                print(seconds)
                # 判断是否在允许时长内按键
                if 0 < seconds < time_between_attacks[hit]:
                    hit+=1
                    start_ticks=pygame.time.get_ticks()
        
        screen.fill(white)

        # 完成所有攻击阶段或超时则退出循环
        if hit>=total_hits-1 or seconds>time_between_attacks[hit]:
            break
        
        pygame.display.flip()
        clock.tick(time_between_attacks[hit]/10)

内容的提问来源于stack exchange,提问作者Arundeep Chohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:10:17