如何在Python中制作一个计时器而不冻结整个代码

2023-12-02

我正在使用 Pygame 对 Mario 进行编码,并且现在正在对块进行编码。我想制作一个计时器,这样当我在一秒钟后击中块时,块就会回到其原始位置以制作击中动画。问题是,当使计时器处于睡眠状态时,它会在计时器持续时间内冻结整个游戏。我需要运行代码,并在一秒钟后启动前一个代码块。

我尝试过使用睡眠来制作计时器,但它冻结了整个游戏。谁能给我一些知识吗?谢谢!


from threading import Timer

def timeout():
    # do your stuff here

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

如何在Python中制作一个计时器而不冻结整个代码 的相关文章

随机推荐

  • Google Chart:如何更改负值的颜色

    我目前有一个使用 GoogleCharts 的漂亮的 AreaChart 但是我试图在值为负时更改图表的颜色和背景颜色 根据我的发现 想法是仅显示一个区域用于正值 而另一个区域用于显示负值 以便我可以自定义颜色 然而你可以在下面看到我并没有
  • 当状态是对象数组时更新 React 状态

    我有一个处于状态的对象数组 this state items id 1 someattr a string anotherattr id 2 someattr another string anotherattr id 3 someattr
  • Android ViewPager 方向更改

    我读过 安东尼特的回答这个StackOverflow问题 that FragmentPagerAdapter将尝试重用通过以下方式找到的现有片段FragmentManager findFragmentByTag 方向改变后 我已经尝试过了
  • 具有固定行数和列数的集合视图

    我有一个集合视图 并且希望在多个设备上保持一致的行数和列数 在 iPhone 6s Plus 上 显示 6 个项目 但在 iPhone 5s 上查看应用程序时 仅显示 4 个项目 See my layout here 如何使集合视图在不同设
  • 为什么我会看到 VSCode 中的 let 语句中添加了“: String”?

    当我在 VSCode 中输入以下内容时 let mut guess String new 我看到它变成了 let mut guess String String new 为什么会发生这种情况 这些被称为镶嵌提示 rust analyzer
  • 稍后交付无法在 Rails 5 的测试环境中运行

    基本上 测试配置的设置与 Rails 4 中的工作方式完全相同 传递方法设置为测试等 除了我已替换的已弃用的选项之外 邮件仅使用 Deliver now 发送 而不是 Deliver later Deliver later 在开发环境中工作
  • 嵌入 UIHostingController 中的 NavigationView 具有额外的安全区域插图

    有人知道如何处理这个问题吗 似乎当您有一个带有 NavigationView 的 UIHostingController 时 会发生以下情况 注意大的灰色标签栏安全区域 这主要是一个 UIKit 应用程序 我们正在用 swiftUI 视图替
  • 大于行首的符号

    我刚刚在脚本中看到以下内容 但不确定它的含义 started STATUSDIR EVENT ID started errs STATUSDIR EVENT ID errors started is used to capture the
  • Python - time.sleep(n) 是 CPU 密集型的吗? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用time sleep n 在 python 脚本中使其以不同的时间间隔执行作业 伪代码如下所示 total jobs next jobs to run next closest total job
  • 带输入参数的 MVC jquery ajax 调用

    当我在带有参数的控制器上调用操作时遇到问题 在控制器中我有以下操作 HttpPost public ActionResult UpdateData string month return Json new success true mess
  • org.apache.harmony.xml.ExpatParser$ParseException 的问题

    我的 SaxParser 实现有时会抛出 org apache harmony xml ExpatParser ParseException At line 1 column 0 no element found 例外 在下一次尝试中 效果
  • 执行标量之后:未设置对象引用等

    我应该添加什么代码来接受 WHERE 语句中的 null int numApprovals 0 string sql SELECT COUNT Type AS OpenforApproval FROM dbo LeaveRequest WH
  • JScrollPane 和 JPanel

    所以 我正在制作一种文本编辑器 并且我需要一个 JScrollPane 来进行垂直导航 但我无法让它发挥作用 我已经阅读了谷歌结果前十页上的所有该死的教程 但我无法让它工作 假设我有 JFrame 大小 1000x800 我想在其中放置一个
  • 在 Bash 中使用 getopts 检索单个选项的多个参数

    我需要帮助getopts 我创建了一个 Bash 脚本 运行时如下所示 foo sh i env d 目录 s 子目录 f 文件 当处理每个标志的一个参数时 它可以正常工作 但是 当我从每个标志调用多个参数时 我不确定如何从变量中提取多个变
  • Java:布尔值+整数

    有没有办法让 Java 能够处理布尔 整数加法和求值 更具体地说 C 有一个适当的功能可以缩短许多 if 语句 for int i 0 i lt n i cout lt lt i 相当于 while n cout lt lt n 或者 代替
  • 更改文件后重新启动节点

    对于有 PHP 背景的人来说 每次代码更改后杀死节点并重新启动它的过程似乎非常乏味 使用节点启动脚本时是否有任何标志可以在保存代码更改时自动重新启动节点 一个好的选择是节点主管 npm install supervisor g 迁移到应用程
  • 在 C++ 中访问类型成员

    给定一个容器 例如vector
  • 将秒转换为小时、分钟、秒

    如何将秒转换为小时 分钟和秒 show time show time 36 00 00 36 show time 1036 00 17 26 show time 91925 25 32 05 使用日期 转换为 UTC date d 36 u
  • 如何禁用在 onClickListener 中粘贴 EditText Android 的 Drawable 右侧(在图标 EditText 内)

    I have EditText以及里面的图标
  • 如何在Python中制作一个计时器而不冻结整个代码

    我正在使用 Pygame 对 Mario 进行编码 并且现在正在对块进行编码 我想制作一个计时器 这样当我在一秒钟后击中块时 块就会回到其原始位置以制作击中动画 问题是 当使计时器处于睡眠状态时 它会在计时器持续时间内冻结整个游戏 我需要运