鼠标向上/向下之间的秒表

2024-01-03

我试图通过在 while 循环中使用简单的秒表来测试鼠标按下和鼠标按下事件之间的时间。鼠标按下事件工作正常,但是当我释放鼠标以进行鼠标弹起时,秒数继续增加并且不会停止。

from pygame import *
import time
screen = display.set_mode((160, 90))
sec = 0
while True:
    new_event = event.poll()
    if new_event.type == MOUSEBUTTONDOWN:
        while True: # Basic stopwatch started
            time.sleep(1)
            sec += 1
            print(sec)
            # In loop, when mouse button released,
            # supposed to end stopwatch
            if new_event.type == MOUSEBUTTONUP:
                break
    display.update()

我希望秒表在鼠标释放后结束。例如。如果只是单击鼠标,则秒数应为 1。如果按住鼠标 5 秒,则不应持续超过 5 秒。


Use pygame.time.get_ticks https://www.pygame.org/docs/ref/time.html#pygame.time.get_ticks获取此后的毫秒数pygame.init()被称为。
存储时的毫秒数MOUSEBUTTONDOWN并计算主循环中的时间差:

from pygame import *

screen = display.set_mode((160, 90))

clock = time.Clock()
run = True
started = False
while run:

    for new_event in event.get():
        if new_event.type == QUIT:
            run = False

        if new_event.type == MOUSEBUTTONDOWN:
            start_time = time.get_ticks()
            started = True

        if new_event.type == MOUSEBUTTONUP:
            started = False

    if started:        
        current_time = time.get_ticks()
        sec = (current_time - start_time) / 1000.0
        print(sec)

    display.update()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

鼠标向上/向下之间的秒表 的相关文章

随机推荐

  • 如何在Node.js中请求图像并输出图像

    我尝试获取图像并显示在网址上 我用request https github com request request module 例如我想获取图像https www google com images srpr logo11w png 并显
  • 如何降低 Sphinx4 应用程序中的噪音

    我对 sphinx4 和语音识别很陌生 我正在使用 sphinx4 创建语音应用程序 问题是噪声 即使用户没有语音输入 它也会导致程序识别 即即使用户没有语音输入 程序也会将语音转换为文本 从而影响准确性 主要问题是如何实现降噪 这是因为即
  • 如何在 Tomcat 7 中以编程方式检索登录配置?

    在 Tomcat 7 上 我设置了一个领域来让容器管理身份验证过程 我还设置了 web xml 与相应的
  • 如何修复超过 maxWarmingSearchers 的限制?

    任何人都知道为什么以及如何解决这个问题 因为我同时有非常繁忙的更新和搜索 打开新搜索器时出错 超出 maxWarmingSearchers 2 的限制 请稍后再试 根据Solr 常见问题解答 超出 maxWarmingSearchers X
  • TitledBorder 标题更新/刷新延迟,为什么?

    我有一个JPanelA 内有标题边框JPanel B of a JTabbedPanelC 我有一个刷新A和B内容的方法 它会不时被调用 不幸的是 A 和 B 的所有项目都及时刷新 但 A 的标题没有刷新 我明确必须切换到另一个选项卡式面板
  • 反序列化 XML Rest WebApi 调用?

    我一直在关注一些在线示例 但由于某种原因我无法成功反序列化以下 XML 文档
  • 嵌入时间线的动态时间线选择 - 标签时间线

    我已按照指南进行操作here https dev twitter com discussions 18411使用相同的小部件 ID 添加多个小部件 这对于用户时间线来说效果非常好 片段 a class twitter timeline hr
  • 将嵌套 JSON 负载映射到 Elixir 中的结构

    我正在尝试将 Golang 教程 gddit 移植到 Elixir 我已经使用 Dartlang 成功做到了这一点 但 Elixir 在地图和列表上的操作让我感到困惑 使用 HTTPoison 和 JSEX 我有以下代码 defmodule
  • Selenium webdriver 窗口处理 c# switchTo 失败

    测试过程中会弹出 2 个窗口 my code string BaseWindow driver CurrentWindowHandle ReadOnlyCollection
  • 未解决的参考 dagger 2 + kotlin + android gradle

    我正在 Android 项目中使用 Kotlin 测试 Dagger 2 我的灵感来自于Android 干净的架构 https github com android10 Android CleanArchitecture回购 我的 grad
  • 检查 URL 状态的脚本

    我见过一些与此类似的问题 但没有找到适合我的情况的问题 我有一个存储在文本文件中的 URL 列表 我需要运行该列表以查看它们是否返回 404 错误 我正在使用 powershell 并一直在使用这里的示例 http gallery tech
  • 插入后在实体框架中获取记录 ID

    我正在使用实体框架开发 ASP net 应用程序 我在用着DetailsView将数据插入数据库 有一张表作为Client它的主键是client id client id由数据库自动生成 我需要自动生成client id插入一条记录后Cli
  • 对多行使用 SELECT INTO

    这是重新 我想通过利用 SELECT INTO 使用查询结果创建一个表 语法 SELECT INTO Persons Backup FROM Persons 与我想要实现的目标非常接近 不同之处在于我希望 FROM 使用查询作为源 我的情况
  • 如何将 mpdf 中的图像居中?

    我想将图像居中mpdf 版本 6 gt 这是我发送到 mpdf 的 缩短的 html 输出 这displayed类没有帮助 img style max height 600px class displayed src images size
  • Visual Studio 2012 单元测试框架的优缺点

    我想开始使用 C 纯 C 而不是 NET 进行单元测试 因为我以前从未这样做过 一直用assert and cout 到目前为止 我发现的唯一具有详细答案的好问题是https stackoverflow com questions 1369
  • 在 Visual Studio Online 上构建 Wix 会导致“错误注册的脚本引擎”

    我最近决定尝试在线视觉工作室来自动化我的构建 构建结果应该是一些二进制文件和 wix 创建的安装程序 在本地 这有效 但是在 Visual Studio Online 上 这会导致错误 light exe 执行 ICE 操作 ICE01 时
  • 在 PostgreSQL 中对组内的行进行排序

    我有以下查询 SELECT routeid SRID 4326 LINESTRING string agg lon lat AS the geom FROM route table WHERE observation time BETWEE
  • 使用 Unity 时收到警告“无法创建代理,因为没有有效的导航网格”

    我正在使用程序网格几何体 并在导航窗口中将导航静态设置为 打开 我还在检查器中将网格生成器设置为 静态 我还烘焙了敌人的代理 但它仍然抛出警告 无法创建代理 因为没有有效的 NavAgent 这很可能导致错误 SetDestination
  • 如何以编程方式获取 GCP Bearer 令牌

    gcloud auth print access token给我一个不记名令牌 我可以稍后使用 令牌看起来像 Authorization Bearer ya29 AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3 Lh s
  • 鼠标向上/向下之间的秒表

    我试图通过在 while 循环中使用简单的秒表来测试鼠标按下和鼠标按下事件之间的时间 鼠标按下事件工作正常 但是当我释放鼠标以进行鼠标弹起时 秒数继续增加并且不会停止 from pygame import import time scree