我有一个箭头精灵,它用于我的Cocos2d游戏中的瞄准目的。因此,我希望它指向用户触摸屏幕的位置。如何编程精灵的旋转,使其旋转到用户的触摸位置?谢谢!
答案 0 :(得分:1)
这些教程可能会有所帮助:
http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d
此外,这个问题(带代码)被问到并回答(带有更多代码):Rotating Sprite with Touch - Cocos2d
答案 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)虽然很棒,但我正在投票,因为你应该使用它。