Я не думаю, что для этого есть специальный метод jQuery. Но вы можете немного поиграть с математикой. С учетом точки пользователя вы можете вычислить линейную функцию f
, которая проходит через x0,y0
(происхождение) и x1,y1
(пункт назначения). Затем вы можете использовать его для расчета y
для значений x
, которые соответствуют xL
- левая граница белого квадрата и xR
- правая граница белого квадрата. Столкновение произойдет, если f(xL)
находится между {the bottom border of the white box} - {the side of the black box/2}
и {the top border of the white box} + {the side of the black box/2}
вокруг каждого из xL и xR.
Если у вас есть столкновение, вы можете связать 5 анимаций jQuery - один, который идет до ближайшей точки белого квадрата, затем тот, который идет на 90 градусов вправо (оцените, сколько ему нужно идти), затем на 90 градусов влево , затем снова 90 градусов, а затем на 90 градусов вправо. Это практически пропускает белый ящик, не касаясь его.
Я удалил мертвую ссылку. –