ホームページ > バックエンド開発 > Python チュートリアル > Pygame でスプライトと弾丸間の衝突を検出するにはどうすればよいですか?

Pygame でスプライトと弾丸間の衝突を検出するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-24 22:14:10
オリジナル
348 人が閲覧しました

How to Detect Collisions Between Sprites and Bullets in Pygame?

PyGame での衝突の検出

PyGame では、オブジェクト間の衝突は pygame.Rect オブジェクトを使用して検出されます。 Rect オブジェクトには、次のような衝突をテストするためのさまざまなメソッドが用意されています。

  • pygame.Rect.collidepoint: 点が四角形の内側にあるかどうかを確認します。
  • pygame.Rect.colliderect: Tests 2 つの長方形が重なっている場合。

スプライトのインスタンス間の衝突を検出するにはBullet クラスの場合は、pygame.Rect.colliderect() メソッドを使用します:

sprite1 = Sprite(sx, sy, name)
bullet1 = Bullet(by, by)
ログイン後にコピー

衝突を特定するには、衝突を常にチェックするゲーム ループを使用します:

while True:
    # [...]

    if sprite1.rect.colliderect(bullet1.rect):
        print("Hit!")
ログイン後にコピー

以上がPygame でスプライトと弾丸間の衝突を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート