Я пытаюсь использовать как b2PrismaticJoint, так и b2MouseJoint. Мне нужно переместить мой снаряд по оси X, чтобы расположить его как цель, и я хочу проводить его только вертикально, не двигая снаряд, чтобы бросить его в этом направлении. Я использую ApplyLinearImpulse (), но независимо от того, в каком направлении я проведу пальцем, его направление всегда направлено вверх-вправо. Код:
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *myTouch = [touches anyObject];
CGPoint location = [myTouch locationInView:[myTouch view]];
location = [[CCDirector sharedDirector] convertToGL:location];
b2Vec2 locationWorld = b2Vec2(location.x/PTM_RATIO, location.y/PTM_RATIO);
if (_mouseJoint) {
_world->DestroyJoint(_mouseJoint);
_mouseJoint = NULL;
}
if(_primJoint) {
_world->DestroyJoint(_primJoint);
_primJoint = NULL;
}
if (hit) {
_strikerBody->ApplyLinearImpulse(locationWorld, _strikerBody->GetPosition());
}
}