設定されたミリ秒後にコードを実行するにはどうすればよいですか?
一度だけ実行したい。
ありがとう
ミリ秒ごとにイベントキューにpygame.time.set_timer(eventid, milliseconds)
idのイベントを生成する関数があり、これを好きなように処理できます。を呼び出すことにより、イベントが再度生成されないようにすることができます。eventid
milliseconds
pygame.time.set_timer(eventid, 0)
SDLには、SDL_AddTimer
あなたが望むことを正確に実行する関数があります。少し遅れて実行されるコールバック関数を渡しますが、ドキュメントからは、pygame
同等のものを実際に見つけることができません。
Pythonソリューションの場合、threading.Timer
クラスを使用できます。
モジュールsched — Event schedulerを見てください。リンクの例は、始めるのに非常にきれいです
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