@s1vemod

Как реализовать гравитацию и коллизию с такой структурой?

Добрый день, пытаюсь реализовать коллизию и гравитация в pygame, решил попробовать написать всё это на классах и столкнулся с непонимание реализации.

Прикрепляю код:
https://github.com/s1veme/game-bomber

В файле bomber/scenes.py у меня существует класс MainScene, который является основной сценой игры.
Я пытаюсь реализовать гравитации именно в этом классе, потому что полагаю, что это ответственность данного класса.

Если простое падение вниз я реализовал через прибавление y классу Player каждую секунду, то при столкновениях беда.

Подскажите пожалуйста, как мне реализовать коллизию? Правильно ли я определил ответственность?
При падение игрок должен сталкиваться с полом и останавливаться, тоже самое должно происходить, если игрок пытается уйти вправо или влево.

Буду благодарен, если подскажите, что можно изменить в классах и как реализовать столкновение.
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 1
TalismanChet
@TalismanChet
Лицо зла
возьмите Rect изображения бомбы и для каждой точки этого Rect'а top_left, top_right, top, left, right, bottom_left, bottom_left, center проверьте коллайд с, например, Rect'ом земли или персонажа с помощью Rect.collidepoint(point) -> bool вернет True при коллизии
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы