1

設定されたミリ秒後にコードを実行するにはどうすればよいですか?

一度だけ実行したい。

ありがとう

4

3 に答える 3

2

ミリ秒ごとにイベントキューにpygame.time.set_timer(eventid, milliseconds)idのイベントを生成する関数があり、これを好きなように処理できます。を呼び出すことにより、イベントが再度生成されないようにすることができます。eventidmillisecondspygame.time.set_timer(eventid, 0)

SDLには、SDL_AddTimerあなたが望むことを正確に実行する関数があります。少し遅れて実行されるコールバック関数を渡しますが、ドキュメントからは、pygame同等のものを実際に見つけることができません。

Pythonソリューションの場合、threading.Timerクラスを使用できます。

于 2012-04-09T20:08:36.823 に答える
1

モジュールsched — Event schedulerを見てください。リンクの例は、始めるのに非常にきれいです

于 2012-04-09T19:57:50.750 に答える
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
于 2012-12-26T02:25:49.553 に答える