How to wait some time in pygame?

陌路散爱 提交于 2019-11-26 08:30:41

问题


While I\'ve been using time.wait in my code since I began learning Python and Pygame, I\'ve been wondering if there are any other ways to do it and what are the advantages and disadvantages of each approach. For example, Pygame also has a pygame.time.wait. What\'s the difference between python\'s wait and pygame\'s wait functions? Which one is better? And are there other ways to wait some time besides using these two functions?


回答1:


For animation / cooldowns, etc: If you want to 'wait', but still have code running you use: 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()



回答2:


For Python in general, you will want to look at the sleep library.

For Pygame, however, using pygame.time.delay() will pause for a given number of milliseconds based on the CPU clock for more accuracy (as opposed to pygame.time.wait).



来源:https://stackoverflow.com/questions/18839039/how-to-wait-some-time-in-pygame

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!