Objective c 如何在花栗鼠身上施加特定方向的冲动?

Objective c 如何在花栗鼠身上施加特定方向的冲动?,objective-c,cocos2d-iphone,chipmunk,vimpulse,Objective C,Cocos2d Iphone,Chipmunk,Vimpulse,我正在使用: cpVect vector1=cpv(angle, 400); [body applyForce:vector1 offset:vector1]; 但这并不适用于需要使用触摸屏设置正确角度的情况 用于获取角度的代码行下方 -(void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { for( UITouch *touch in touches ) { CGPoint l

我正在使用:

 cpVect vector1=cpv(angle, 400);

 [body applyForce:vector1 offset:vector1];
但这并不适用于需要使用触摸屏设置正确角度的情况 用于获取角度的代码行下方

-(void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    for( UITouch *touch in touches )
    {
        CGPoint location = [touch locationInView: [touch view]];
        location = [[CCDirector sharedDirector] convertToGL: location];
        float angleRadians = atanf((float)location.y/ (float)location.x-1);
        float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians);
        float cocosAngle = -1 * angleDegrees;
       angle = angleDegrees + 30;
    }
}

感谢你们所有人为这件事付出的宝贵时间。 最后我找到了在花栗鼠身上实现特定方向冲动的方法。 现在我使用下面的代码

 **angle = angle-90;                  //angle from cctouchesMoved function
 float magnitude=shootPower;        // magnitude range between 200 to 1000
 cpVect impulse = cpv((cos(angle) * magnitude) , -(sin(angle) * magnitude));

 [body applyImpulse:impulse offset:cpvzero];**

//applyImpulse提供了根据需要使用上述正弦和余弦θ值施加脉冲的正确方法。

您可以使用cpBody applyImpulse(cpBody*body,cpVect j,cpVect r)对身体施加脉冲。我没有使用cpBody。要应用此。。。这是花栗鼠的身体;我们可以应用力或应用脉冲。向量“vector1”使用角度作为x参数。。。也许可以尝试cpvrotate(cpv(0,1),cpvvolangle(angleRadians)),这里cpvzero是cpVect cpvzero={0.0f,0.0f};