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

bzz*_*zzr 5 python time pygame wait

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

nin*_*key 12

对于动画/冷却时间等:如果你想"等待",但仍然运行代码,你可以使用: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()
Run Code Online (Sandbox Code Playgroud)


ljs*_*dev 7

一般来说,对于 Python,您需要查看sleep库。

然而,对于 Pygame,使用pygame.time.delay()将根据 CPU 时钟暂停给定的毫秒数,以提高准确性(与 pygame.time.wait 相反)。