Итак, этот вопрос идет по моему вопросу со вчерашнего дня относительно обнаружения столкновений с пигажем и создания твердого объекта. Вот мой новый код:pygame - обнаружение столкновения и создание твердого объекта
if player.rect.left >= rect.right + 1:
player.undo_right()
if player.rect.right <= rect.left - 1:
player.undo_left()
if player.rect.bottom <= rect.top + 2:
player.undo_top()
if player.rect.top >= rect.bottom + 2:
player.undo_bottom()
В настоящий момент это управляет некоторым основным обнаружением столкновения. Если значение x-значение/y игрока игрока больше/меньше целевой поверхности, игрок перемещается на определенную величину. Проблема в том, что это просто делает игрока «неустойчивым», и игрок все еще может пройти через мой объект.
Итак, я думаю, мой вопрос на этом этапе - как я могу сделать так, чтобы игрок не мог пройти через объект? Я пробовал player.rect.colliderect, но получил тот же результат, что и выше.
Существует не простой способ сделать это эффективно, поэтому я обращаюсь к вам, ребята. Я мог бы ударить головой о стену в течение нескольких часов, но сначала я хотел бы получить критику и совет от сообщества.
В любом случае, спасибо заранее.
Я думаю, что проблема может быть во всем коде, не только в этой части, поэтому никто не может ответить на ваш вопрос. – furas
В данный момент я могу только предложить проанализировать код в [Примеры для платформы] (http://programarcadegames.com/index.php?chapter = example_code & lang = pl # section_38) (в конце страницы) – furas