Обнаружение столкновений (земля и уклоны) в 2D-игре с использованием Pygame Rects - PullRequest
1 голос
/ 05 ноября 2010

Во-первых, я не после каких-либо инструкций по логике для обнаружения столкновений; Я понял.

То, что я пытаюсь решить, - это наименее сложный способ сделать это с помощью Pygame, используя Sprites & Rects. Я хочу иметь возможность проверять столкновения игрока с землей, стенами и склонами. В теории это довольно просто, но у меня возникли трудности, потому что кажется, что вы не можете сделать это с помощью одного Rect.

Один Рект достаточно прост, чтобы столкнуться в плоскости Х со стенами. Тот же Rect может быть использован также и в плоскости Y против тел, но не с уклонами - поскольку в Pygame подпрограммы столкновения проверяют весь Rect (или маску), а не, возможно, только нижнюю середину Rect. Кроме того, вам нужно иметь несколько «спрайтов» для проверки столкновений, размером 1x1 в разных местах вокруг игрока.

Какой самый простой способ сделать это, не имея группы из 3, 4 или более отдельных «пикселей столкновения» для проверки на склонах?

Geoff

Ответы [ 2 ]

1 голос
/ 10 ноября 2010

Для меня это звучит так, как будто вы хотите идеальное обнаружение столкновений с точностью до пикселя. Здесь вы можете найти готовую функцию, которая, как мне кажется, будет именно тем, что вам нужно / нужно.

0 голосов
/ 14 ноября 2010

Вы можете использовать pygame.mask, который обеспечивает идеальное пиксельное обнаружение столкновений в C:

http://www.pygame.org/docs/ref/mask.html

...