1
기본적으로 저는 특정 각도로 둥근 몸체에 충격을가하려고합니다. 하지만 시체가 엉뚱한 방향으로 움직입니다. 아무도 도와주세요. 당신은 b2Body::ApplyLinearImpulse
의 두 번째 매개 변수에 대한 b2Body::GetWorldCenter
를 사용해야합니다임펄스가 가해지면 몸이 이상하게 움직입니다. (Cocos2d-Box2d)
b2Vec2 v1 = bombbody->GetPosition();
b2Vec2 v2 = arrowPoint;//Value got from touch
b2Vec2 final = v2-v1;
float angle1 = CC_RADIANS_TO_DEGREES(atan2(final.y,final.x));
float factor = sqrt(final.x/PTM_RATIO * final.x/PTM_RATIO + final.y/PTM_RATIO * final.y/PTM_RATIO);
b2Vec2 ImpulseVector = b2Vec2(cos(angle1)*factor,sin(angle1)*factor);
b2Vec2 PointVector = bombbody->GetPosition();
bombbody->ApplyLinearImpulse(ImpulseVector,PointVector);