Я на самом деле не делал этого раньше, но я адаптировал часть своего кода (который делает вражеский корабль лицом к кораблю игрока) для того, что вам нужно.Надеюсь, это правильно.
//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) был великолепен, и я голосую за него, потому что вы должны его использовать.