このゲームでは、画像を使用して落下するアイテムをボウルでキャッチし、オブジェクト間の衝突を検出する必要があります。 Pygame は、このプロセスを簡素化するメソッドを提供します。
長方形オブジェクト間の衝突を検出するには、pygame.Rect クラスを使用して両方のオブジェクトの長方形オブジェクトを作成します。または画像。次に、 colliderect() メソッドを使用して、四角形が交差しているかどうかを確認します。
以下のコードは、この手法を示しています。
rect1 = pygame.Rect(x1, y1, w1, h1) rect2 = pygame.Rect(x2, y2, w2, h2) if rect1.colliderect(rect2): # Perform collision handling
画像 (pygame.Surface オブジェクトとして表される) を操作する場合、次を使用してその境界四角形を取得できます。 get_rect() メソッド。希望の左上座標を指定して、四角形の位置を忘れずに調整してください。
player_rect = player_img.get_rect(topleft=(x, y)) thing_rect = thing_img.get_rect(topleft=(thing_x, thing_y)) if player_rect.colliderect(thing_rect): # Perform collision handling
ゲームの開始に遅延を追加するには、pygame.time.get_ticks( )。この関数は、pygame.init() が呼び出されてからの経過時間を返します。たとえば、100 秒後にゲームを開始するには:
start_time = 100 * 1000 # Start time in milliseconds (100 seconds) passed_time = pygame.time.get_ticks() if passed_time < start_time: # Display a loading screen or message else: # Start the game loop
以上がPygame の `colliderect()` メソッドと `get_rect()` メソッドを使用して、長方形オブジェクトと画像間の衝突を検出するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。