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使用DAO,DTO模式作为MVC   java获取用于Android开发的图像   java Android Studio txt文件中的文件计数   任何类型泛型构造的枚举的java类   java为我的应用程序上的每个用户创建一个图表   算法如何在java中进行递归搜索?   java如何从MongoRepository/QueryDSL中获取不同的字段?   java如何获取JCheckbox的选定索引?   java嵌套。属性文件   Java如何发现两个数组是否彼此重复?   java Spring启动应用程序,带有raspberry pi上的Jython   RMI需要java。rmi。服务器NAT的主机名,那么像CORBA这样的其他技术如何解决NAT问题呢?   java If语句总是给出相同的答案   x到y的幂的java递归方法   使用ApacheCamel对USPSAPI进行地址验证的java HTTP查询   java很难定义与ArrayList交互的方法   java如何将HttpServletRequest转换为原始请求字符串?