Cocos2d iphone 如何使精灵旋转到触摸Cocos2d

Cocos2d iphone 如何使精灵旋转到触摸Cocos2d,cocos2d-iphone,rotation,sprite,image-rotation,Cocos2d Iphone,Rotation,Sprite,Image Rotation,我有一个箭精灵,它是在我的Cocos2d游戏中用来瞄准的。因此,我希望它指向用户触摸屏幕的位置。如何编程精灵的旋转,使其旋转到用户的触摸位置?谢谢 以下教程可能会有所帮助: 另外,这个问题在这里被问(用代码)和回答(用更多代码):我以前没有这样做过,但我已经根据您的需要修改了我的一些代码(使敌舰面对玩家舰)。希望这是正确的 //rotate to face the touch CGPoint diff = ccpSub(sprite.position, touch.position); fl

我有一个箭精灵,它是在我的Cocos2d游戏中用来瞄准的。因此,我希望它指向用户触摸屏幕的位置。如何编程精灵的旋转,使其旋转到用户的触摸位置?谢谢

以下教程可能会有所帮助:


另外,这个问题在这里被问(用代码)和回答(用更多代码):

我以前没有这样做过,但我已经根据您的需要修改了我的一些代码(使敌舰面对玩家舰)。希望这是正确的

//rotate to face the touch
CGPoint diff = ccpSub(sprite.position, touch.position);
float angleRadians = atanf((float)diff.y / (float)diff.x);

float angleOffset = CC_DEGREES_TO_RADIANS(90);

if(diff.x < 0)
{
    angleRadians += angleOffset;
}
else
{
    angleRadians -= angleOffset;
}
//旋转以面对触摸
CGPoint diff=ccpSub(精灵位置、触摸位置);
浮动角度弧度=atanf((浮动)差异y/(浮动)差异x);
浮动角度偏移=CC_度到_弧度(90);
如果(差值x<0)
{
角度弧度+=角度偏移;
}
其他的
{
角度弧度-=角度偏移;
}
PengOne的回答(酷名字BTW)很好,我投票支持它,因为你应该利用它