是否有可能以显示一段时间的图像,然后改回来?(Is it possible to show an i

2019-10-20 05:17发布

def monkey_bomb(self):
    self.image = pygame.image.load("./images/monkey_bomb.png")
    delay(1000)
    self.image = pygame.image.load("./images/monkey.png")

这是我的球员精灵类中的方法之一
所以我想要做的是,当玩家精灵命中一弹,它会显示一个爆炸效果,然后再返回到正常图像的玩家精灵
但似乎像pygame的不支持全“延迟”的事情,我怎么以另一种方式做到这一点?

Answer 1:

你不想在比赛的中间延迟:这将冻结一切。 相反,你应该事先要切换到另一个加载两个图像,那么在这种情况:

  1. 保存当前的时间,无论是从例如time.time()或帧计数器。
  2. 交换图像。 无论是从字面上a, b = b, a或更改一个标志,表示要显示的图像。
  3. 当足够的时间已经过去(如time.time() > saved_time + 1 ),你换回来。

在哪里,你是怎么做的最后一步取决于如何你的代码的其余部分的结构。



文章来源: Is it possible to show an image for a while and then change it back?
标签: python pygame