python-3.x - 我试图在 if 语句发生后让图像保持更长时间
问题描述
我正在尝试编辑我的游戏,以便在出现 if 语句时出现图像,但 if 语句仅在对象撞到墙壁并且球反弹时才会出现,因此图像仅在 if 语句出现的时间内出现积极的。我试图发出延迟命令,但在 if 语句发生后,它会在给定时间内冻结整个游戏。
有谁知道如何隔离延迟命令或使图像在 if 语句到期后/球撞到墙上并反弹后多保持一秒钟?
以下是与此有关的代码行:
image_set = pygame.display.set_mode()
image = pygame.image.load("image.png")
def image():
image_set.blit(image,(600,90))
if object.left == (COLLISION_RANGE) or object.right == (WINDOWWIDTH COLLISION_RANGE):
DisplayOoface()
Oof.play()
解决方案
将用于“隐藏”图像的代码放入一个单独的函数中,使用 Threading 包创建一个新线程并将该函数传入以执行。
在函数中,您可以在代码的开头添加延迟。当您在 if 语句中启动附加线程时,您将获得所需的延迟,然后该函数可以隐藏图像。
如果你不线程化这个任务,那么 python 一次只处理一行代码。通过将等待和隐藏图像的任务传递给辅助线程,您的主线程(游戏)可以根据需要继续运行。
推荐阅读
- javascript - 如何在 Squarespace 模板中使用 Javascript 设置 H1 标签样式
- swift - 为什么标签不以全屏模式出现?
- javascript - 当前 URL hashchange 事件将新哈希附加到目标 URL 并链接到它
- c# - Active Directory 角色 - .net 核心
- azure-application-insights - 从 App Insights 中过滤掉 oidc 关联失败异常
- reactjs - Reactjs:如何在 Reactjs 中实现文本计数
- python - 如何在opencv中使视频源全屏?
- android - Android Gradle - 无法使用模块包含的库的查找类
- linux - Cron Job 电子邮件查找:缺少“-exec”参数
- javascript - 使用 AngularJS 1.7 中的组件在 NgRepeat 中正确呈现 HTML