如何在 tkinter 键绑定输入上设置冷却时间

时间:2021-07-30 01:03:39

标签: python python-3.x tkinter

在我一直在开发的基本图形应用程序中,存在一个问题,即按住某个键会极快地发送键盘输入,以至于试图通过某种冷却减慢速度不起作用。

如果冷却时间很长(冷却时间超过 2 秒),它确实有效,这对于很多游戏来说是不可接受的。

对于自动将按键链接到 root.move 语句的任何程序都将允许在屏幕上以极快的速度运行。

有没有办法限制按键输入?如果没有,有没有办法去除/取消过多的输入?

1 个答案:

答案 0 :(得分:1)

由于输入速度不同,这在平台或其他计算机上不会保持一致,但使用简单的计数器确保它每 3 次只触发一次就足以将其减慢到合理的速度。

lcounter=0
def left(event):
    global leftv,lcounter
    leftv=True
    if lcounter==2:
        playercoords[0]-=1
        render(playercoords[0],playercoords[1]+30)
        lcounter=0
    else:
        lcounter+=1
`