如何使精灵旋转到触摸Cocos2d

时间:2011-06-13 23:48:28

标签: cocos2d-iphone rotation sprite image-rotation

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

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我之前并没有真正做到这一点,但是我已经调整了一些代码(让敌人的船面向玩家船),以满足您的需求。希望这是正确的。

//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;
}

PengOne的答案(很酷的名字BTW)虽然很棒,但我正在投票,因为你应该使用它。