Обнаружение столкновений Pygame `colliderect ()` - PullRequest
2 голосов
/ 04 мая 2020

При прохождении документов Pygame существовал метод pygame, называемый colliderect(), который используется для проверки перекрытия двух rect объектов.

Проверка colliderect (), если два прямоугольника перекрываются

colliderect (Rect) -> bool

Возвращает true, если какая-либо часть любого прямоугольника перекрывается (кроме верхнего + нижнего или левого + правого краев).

В последней строке написано кроме верхнего + нижнего или левого + правого

Что означает это утверждение?

1 Ответ

1 голос
/ 04 мая 2020

Это означает, что прямоугольники r1 и r2:

r1 = pygame.Rect(0, 0, 10, 10)
r2 = pygame.Rect(10, 0, 10, 10)

не сталкиваются. r1.colliderect(r2) возвращает False, даже если r1.left + r1.width равно r2.right.

Это потому, что r1 охватывает область (x) от 0 до 9 (включительно), а r2 охватывает (х) область от 10 до 19 (включительно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...