如何在pygame中等待一段时间?


问题内容

自从我开始学习Python和Pygame以来,在我的代码中一直使用 time.wait
时,我一直在想是否还有其他方法可以做到这一点,以及每种方法的优缺点是什么。例如,Pygame还具有 pygame.time.wait
。python的wait和pygame的wait函数有什么区别?哪一个更好?除了使用这两个功能,还有其他方法可以等待一段时间吗?


问题答案:

对于动画/冷却时间等:如果要“等待”,但仍在运行代码,请使用:pygame.time.get_ticks

class Unit():
    def __init__(self):
        self.last = pygame.time.get_ticks()
        self.cooldown = 300

    def fire(self):
        # fire gun, only if cooldown has been 0.3 seconds since last
        now = pygame.time.get_ticks()
        if now - self.last >= self.cooldown:
            self.last = now
            spawn_bullet()