Box2D: проверить столкновение с суставом? - PullRequest
2 голосов
/ 15 августа 2011

Как показано на рисунке, я реализовал «blob», соединив фигуры Circle с «Distance Joints».

(с учетом соединения JBox2D ContantVolume).

http://oi52.tinypic.com/2pz08z9.jpg

Можно ли проверить, не сталкиваются ли другие объекты (в вышеприведенном случае, кружок пурпурного цвета) с «Линейкой расстояний»?

, заранее спасибо.

1 Ответ

2 голосов
/ 31 августа 2011

Не знаю, как именно вы это реализуете, но если у вас есть x, y координаты соединений, то большая часть тяжелой работы выполнена.Я бы посоветовал использовать одну строку и предположить, что она начинается с 0 и заканчивается, скажем, 5. Поэтому эта строка начинается с 0 => y <= 5 и x = 0; </p>

Далее вы можете написатьабстрактная функция, которая принимает параметры (x1, x2, y1, y2). Внутри этой функции вы вычисляете линейное уравнение.Это уравнение - то, что вы проверяете.например, ваши шары x и y попадут в эту линию, а затем ваше программное обеспечение выдаст предупреждение или все, что вы хотите, чтобы мяч делал, когда он пересекает или ударяется.

Если вы выполняете абстрактную функцию, вы можете затем реализоватьэто на всех суставах.Кроме того, если вы можете добавлять элементы x так же, как вы добавляли y, и постоянно обновлять эту функцию, вы можете эффективно разместить этот шарик в своем пространстве.

Надеюсь, это поможет

...