pygame相当于settimeout? (x毫秒后调用函数?)

时间:2012-04-09 19:54:33

标签: python pygame

如何在设定的毫秒数后执行一些代码?

我只想执行一次。

由于

3 个答案:

答案 0 :(得分:2)

pygame.time.set_timer(eventid, milliseconds)函数,它每隔eventid毫秒在事件队列上生成一个id为milliseconds的事件,然后您可以随意处理。您可以通过调用pygame.time.set_timer(eventid, 0)来停止再次生成事件。

SDL有一个SDL_AddTimer函数可以完全按照你的意愿运行 - 你传递一个回调函数,在一段时间后执行,但是从文档中我找不到pygame等价物

对于python解决方案,您可以使用threading.Timer类。

答案 1 :(得分:1)

只需查看模块sched — Event scheduler即可。链接中的示例非常简洁,可以帮助您入门

答案 2 :(得分:0)

对于python解决方案,setTimeout等效于:

    import threading

def set_timeout(func, sec):     
    t = None
    def func_wrapper():
        func()  
        t.cancel()
    t = threading.Timer(sec, func_wrapper)
    t.start()

    def hello():
       print "Hello, world!"

    set_timeout(hello, 0.1) # This is 0.1s = 100ms