ホームページ >バックエンド開発 >Python チュートリアル >Pygame で箇条書きとスプライトのリスト間の衝突を検出するにはどうすればよいですか?
質問: 提供されたメソッドを使用して弾丸のリストとスプライトのリストの間の衝突を検出する方法クラス?
解決策:
PyGame には、次のような衝突を検出するためのメソッドがいくつか用意されています。
スプライト衝突メソッド
指定された Sprite クラスと Bullet クラス間の衝突を検出するには、pygame.Rect.colliderect を使用できます。メソッド:
# Initialize sprite and bullet my_sprite = Sprite(sx, sy, name) my_bullet = Bullet(by, by) # Main loop while True: # [...] # Check for collision between sprite and bullet if my_sprite.rect.colliderect(my_bullet.rect): print("Hit")
ヒント:
class Sprite: def __init__(self, x, y, name): self.image = pygame.image.load(name) self.rect = self.image.get_rect(topleft=(x, y)) # ... class Bullet: def __init__(self, x, y): self.bullet = pygame.image.load("user_bullet.BMP") self.rect = self.bullet.get_rect(topleft=(x + 23, y)) # ...
以上がPygame で箇条書きとスプライトのリスト間の衝突を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。