Зіткнення гравця з противниками та бонусами
Продовжуємо писати нашу гру.
Зіткнення гравця з противниками та бонусами
Одна з багатьох важливих тем у розробці ігор – це виявлення сутичок. В основі алгоритмів обробки зіткнень лежить клас Rect. Примірниками цього класу є прямокутні області. Вони не мають графічного подання у вікні гри, але мають методи для виявлення зіткнень: якщо два або більше прямокутних об'єктів перетинаються один з одним або перебувають у контакті, це і є зіткнення. Будемо використовувати метод colliderect(Rect) - перевірка перетину двох прямокутників.
При зіткненні з ворогом ми будемо закінчувати гру. Добавимо наступну перевірку в цикл обробки ворогів.
if player_rect.colliderect(enemy[1]):
playing = False
При зіткненні з бонусом ми поки будемо лише видаляти бонус. Добавимо наступну перевірку в цикл обробки бонусів.
if player_rect.colliderect(bonus[1]):
bonuses.pop(bonuses.index(bonus))