Исправить коллизии в pygame

Опишу проблему: каждый кадр идёт проверка игрока на столкновение с стеной с помощью pygame.sprite.collide_rect() , но иногда, например, когда фпс ниже 10 и проверка идёт реже может быть такое, что игрок просто пройдёт через стену не "попав" в неё. Можно ли как-нибудь улучшить проверку коллизий, убрав данную проблему?


Ответы (2 шт):

Автор решения: FotonPC

Кусок кода в player.update(): Решаю в лоб.

if player.rect.left < 0: print('Коллизия')
if player.rect.right > WIDTH: print('Коллизия')
if player.rect.top < 0: print('Коллизия')
if player.rect.bottom > HEIGHT: print('Коллизия')

WIDTH и HEIGHT - Это константы - ширина и высота окошка программы соостветсвенно.

→ Ссылка
Автор решения: Вадим Королёв

Можно сохранять вектор передвижения игрока и если персонаж сталкивается со стеной, просто вычесть из его координат тот вектор

→ Ссылка