【问题标题】:Python Windows get key press length and time between each pressPython Windows获取按键长度和每次按键之间的时间
【发布时间】:2016-07-05 12:37:45
【问题描述】:

我正在尝试为我正在开发的游戏制作按钮记录器,但它需要时间(大约 100 次左右)

我需要一个程序,它可以记录我在另一个程序中按下空格键时按下的时间(heldtime),以及下一次按下之间的时间(以毫秒为单位)(waittime)。 (格式为jump(heldtime, waittime))按Z键停止录制。

我正在使用 Python 2.7

如果需要更多信息,我会根据要求进行编辑添加。

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    您可以使用它来学习如何设置计时器: How to create a timer on python

    并使用它来学习如何创建事件以侦听按下的空格键(前提是您使用 Tkinter 模块编写代码): http://effbot.org/tkinterbook/tkinter-events-and-bindings.htm

    这可能看起来像放在一起:

    from timeit import default_timer
    from Tkinter import *
    
    key_pressed = False
    last_start = 0
    heldtime_array = []
    
    def start_stop_timer():
        if key_pressed == False:
           last_start = default_timer()
           key_pressed = True
        else:
            heldtime_array[len(heldtime_array)] = default_timer() - last_start
    
    root = Tk()
    
    frame = Frame(root, width=100, height=100)
    # This will work with any key. See above link for specific keys.
    frame.bind("<Key>", start_stop_timer)
    frame.pack()
    
    # Do other customisation/setup of your window here.
    
    root.mainloop()
    

    【讨论】:

    • 当我试图在另一个窗口中记录键盘按下时,我无法让这个工作,可能是因为 Tkinter 使用了一个窗口:/
    • @whamer100 当您想监听按键事件时,在任何处于活动状态的窗口上调用 .bind 方法。
    • @whamer100 我添加了一个数组heldtime_array,其中包含您所有的holdtime 持续时间。这应该使您能够访问程序中任何地方的最新和所有历史举行时间。希望这会有所帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    相关资源
    最近更新 更多