是否可以暂时显示图像然后将其更改回来?

时间:2014-06-01 17:03:28

标签: python pygame

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

这是我的播放器精灵类中的方法之一 所以我想要做的是,当玩家精灵击中炸弹时,它会显示爆炸效果,然后返回到玩家精灵的正常图像
但似乎pygame并不支持整个延迟'事情,我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

你不想在游戏中间延迟:那会冻结一切。相反,您应该提前加载两个图像,然后在您要切换到另一个图像的情况下:

  1. 保存当前时间,例如: time.time()或框架计数器。
  2. 交换图像。字面上a, b = b, a或更改标记以显示要显示的图像。
  3. 如果已经过了足够的时间(例如time.time() > saved_time + 1),则将其换回。
  4. 最后一步的执行位置和方式取决于代码的其余部分的结构。