我试图使图像在if语句出现后停留更长的时间

时间:2019-02-16 00:23:58

标签: python-3.x

我正在尝试编辑游戏,以便当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()

1 个答案:

答案 0 :(得分:0)

将代码“隐藏”到一个单独的函数中,使用Threading包创建一个新线程并将该函数传递给执行。

在此功能内,您可以向代码开头添加延迟。在if语句中启动其他线程时,将具有所需的延迟,然后该函数可以隐藏图像。

如果不执行此任务,则python一次仅处理一行代码。通过将等待图像和隐藏图像的任务转移给辅助线程,您的主线程(游戏)可以根据需要继续运行。

https://docs.python.org/3/library/threading.html