PyGame的更好计时器
better-timers-gudninatan的Python项目详细描述
更好的人
带演示的PyGame的更好计时器
有关详细解释(冰岛语),请参见: https://gudninathan.blogspot.is/2017/05/pygame-og-events-1-genericevent.html
快速启动
从下载软件包开始!
$ pip install pygame
$ pip install better_timers-gudninatan
导入计时器管理器
from better_timers import timers
或
创建新的计时器管理器
from better_timers import BetterTimers
timers = BetterTimers()
添加新的计时器,该计时器将使用此格式每隔N毫秒自动重复转到事件队列。timers.set_timer(event, ms, *delay_ms)
您可以传入常规的userevent类型,也可以使用任何自定义参数和kwarg创建自己的pygame.event.Event
,以获得无限的可能性。轻松覆盖已建立的计时器,或通过传入0或更低的速率将其完全删除。
genericEvent = USEREVENT + 1
randomEvent = USEREVENT + 2
coolEvent = pygame.event.Event(genericEvent, code="cool")
uncoolEvent = pygame.event.Event(genericEvent, code="uncool")
timers.set_timer(coolEvent, 500) # Sets a timer for 500 milliseconds
timers.set_timer(coolEvent, 2000, 300) # Overrides old 500 rate timer, with delay
timers.set_timer(uncoolEvent, 1000) # New genericEvent timer with a different code
timers.set_timer(randomEvent, 5000) # Traditional timer set with USEREVENT
timers.set_timer(randomEvent, 0) # Timer stopped
您将在pygame事件队列中接收这些事件,正如您所期望的那样。
while True:
...
for event in pygame.event.get():
...
if event == coolEvent:
print("How cool!")
...
调用pygame.quit()
时将停止所有计时器。您还可以使用此快捷方式停止所有计时器:
timers.end_all_timers()
相容性
更好的计时器与Python2&3兼容。
依赖关系
更好的计时器依赖于pygame。