JS определить касаеться ли игрок(div) другого div

Я начал написание игры на js и html. У меня возник такой вопрос, у меня есть <div id="player"></div> и с помощью js генерируются так называемые персики, и дается кажому id к примеру:

<div id="peach1"></div>
<div id="peach2"></div>

А вот и сам вопрос как мне определять касается ли player, персика! При этом персиков может генерироваться от 5 до 30


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

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

если вы сделаете свои div круглыми, то достаточно проверять условие

(x1 - x2)^2 + (y1 - y2)^ <= (r1 + r2)^2

где (x1, y1), (x2, y2) центры div, а r1, 'r2' - их радиусы

для прямоугольных div условия проверки гораздо сложнее, но если вы нарисуете все возможные случаи пересечения (их не так и много - 4 основных + довески), то поймете как можно сделать несколько проверок

для прямоугольных div, но развернутых под разными углами еще сложнее, но тут вам поможет решение частной задачи - нахождение точки пересечения отрезков (мы конечно про 2D говорим) - каждый div имеет 4 стороны, так что проверить придется 16 вариантов :)

но лучше пока вам первый способ использовать :)

→ Ссылка