如何使用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
相关产品推荐
相关产品推荐

