Написал функцию обработки столкновения игрока с объектом, используя модуль pygame:
def collide(self, xvel, yvel, plantlist): #Проверяет столкновение игрока с растениями
for sprite in plantlist:
if collide_rect(self, sprite):
if isinstance(sprite, sunPlants):
print("sun")
if isinstance(sprite, shadowPlants):
print("shadow")
if isinstance(sprite, waterPlants):
print("water")
Но есть проблема. Функция выполняет нужное условие бесконечно, пока игрок не отойдёт от объекта. А мне нужно, чтобы оно (условие) выполнилась только один раз и в следующий раз, только после того как игрок вновь "столкнётся" с объектом. Пробовал много вариантов, например с логическими переменными, но так и нашёл решения. Заранее спасибо за помощь всем откликнувшимся.
Полный исходный код игры можно найти
на GitHub.