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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何找到数组索引的位置和最小值?   运行索引时使用java。jsp,我犯了很多错误   java如何在堆上实现heapSort?   java将图像从flask服务器发送到安卓应用程序   java Wildfly无法在会话关闭后自动释放到池的数据源连接   使用ElasticSearch的java JHipster   Java内核32。读取文件错误(字节缓冲无法转换为字节[])   string Java,一个我无法理解的返回方法   来自Java的UDP消息仅在第一次运行时接收   java同步在TimerTask中失败   java如何将两个字体大小不同的文本视图居中   netbeans如何获取java。朗;从类加载器初始化,而不是编译文件*。JAVA   java向JCheckBox的ArrayList添加ItemListeners