Из того, что я читал, в Box2d вы получаете угол поворотного соединения с помощью функции GetJointAngle, но при попытке установить угол элемент m_referenceAngle защищен. Угол программно нельзя задать?
Я обнаружил, что могу применить угол от одного сустава к другому телу как:
float FirstAngle = firstArmJoint->GetJointAngle(); secondArmBody->SetTransform(b2Vec2((750.0/PTM_RATIO),(520.0f+100)/PTM_RATIO),hourAngle);
Я поместил это в ccTouchesMoved, чтобы когда пользователь перетаскивал первый объект (из которого извлекается FirstAngle), второй объект (secondArmBody) также перемещался.
Что происходит, так это то, что второе тело вращается в верхней части изображения, а не в точке привязки.
Любые идеи?