如何在pygame中使用time.sleep?

Ros*_*ler 6 python time pygame

所以我试图显示一个图像,等待 1 秒,然后显示另一个图像。我正在制作一款匹配游戏,因此在我的代码中我试图说,如果两个图像不匹配,我想将图像更改为预设的通用图像。所以我的代码看起来像这样:

if True:
    self.content = self.image
    time.sleep(1)
    self.content = Tile.cover
Run Code Online (Sandbox Code Playgroud)

self.content是所显示内容的变量,self.image是显示的图像,然后Tile.cover是覆盖另一图像的通用图像。然而,每当我这样做时,代码都会跳过第一行,只是将图像设置为Tile.cover,为什么?

xyr*_*res 7

在 Pygame 中,您必须使用pygame.time.wait()而不是 python 的time.sleep().

需要的时间以毫秒为单位:

pygame.time.wait(1000)
Run Code Online (Sandbox Code Playgroud)

不使用的原因time.sleep是它会阻塞 pygame 的事件循环,因此 pygame 将无法处理其他事件。