Cocos2d iphone 如何使精灵旋转到触摸Cocos2d
我有一个箭精灵,它是在我的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
另外,这个问题在这里被问(用代码)和回答(用更多代码):我以前没有这样做过,但我已经根据您的需要修改了我的一些代码(使敌舰面对玩家舰)。希望这是正确的
//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)很好,我投票支持它,因为你应该利用它