time.wait() を超えて Pygame で時間遅延を実現する方法
Pygame で時間遅延を導入しようとする場合、time.wait( )は、歴史的に開発者にとって主な選択肢でした。ただし、このアプローチでは、潜在的な代替手段とそれぞれの利点について興味が残るかもしれません。
Pygame は独自の time.wait() 関数を提供します。これは、次の点で Python の標準の wait() とは異なります。
代替時間遅延アプローチ
Pygame の wait() 関数に加えて、時間遅延に対するもう 1 つの効果的なアプローチは、pygame.time.get_ticks() 関数を利用することです。
以下のコード スニペットは、武器のクールダウン管理に get_ticks() を使用して、次の時間とのギャップを確保する方法を示しています。連続ショット:
class Unit(): def __init__(self): self.last = pygame.time.get_ticks() self.cooldown = 300 def fire(self): # fire gun, only if cooldown has been 0.3 seconds since last now = pygame.time.get_ticks() if now - self.last >= self.cooldown: self.last = now spawn_bullet()
この手法は、遅延の制御を維持しながら、他のゲーム機能と並行して動作する時間ベースのイベントを実装する場合に有利です。期間。
以上がPygame の time.wait() を超えて: ゲームで時間遅延を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。