Существует множество способов обнаружения столкновений в Pygame. Методы Rect (@Darthfett) и spritecollide являются наиболее популярными, но есть еще 2, которые вы можете использовать:
Метод 1:
Этот метод действительно прост в программировании, но он увеличивает неаккуратность кодирования, имеет много ограничений и, как правило, является не самым лучшим вариантом для использования.
Что вы делаете, это выбираете определенный цвет, проверяете цвета пикселей вокруг объекта и заставляете его сталкиваться, если вы обнаруживаете определенный цвет. Это позволяет выполнять простые игры, такие как «Не позволяйте мышке касаться черного цвета», и другие простые программы.
Метод 2:
Этот метод, безусловно, мой любимый, и я использую его в 90% всех моих программ. Вы обнаруживаете столкновение вычислением . Здесь вы берете координаты объектов 1 и 2, смотрите, насколько они близки друг к другу, и делаете столкновения на основе этого. Этот метод обеспечивает большую гибкость при столкновениях, не слишком небрежный, если все сделано правильно, и довольно прост. Это может потребовать небольшой доработки, и вам придется много раз тестировать программу, но результаты того стоят. Этот метод также позволяет обнаруживать невидимые объекты и легко регулировать поля столкновений, например, если есть волшебник или что-то еще, и вы умрете, когда отойдете от него на определенное расстояние. Этот метод действительно не так популярен, как следовало бы, но, уверяю вас, он работает. Две самые простые формы столкновения с этим методом - с круговым и прямоугольным столкновением.