Как заставить спрайт вращаться на ощупь Cocos2d - PullRequest
0 голосов
/ 14 июня 2011

У меня есть спрайт со стрелкой, и он используется для целей прицеливания в моей игре Cocos2d.Поэтому я хочу, чтобы он указывал на то, где пользователь касается экрана.Как мне запрограммировать вращение спрайта, чтобы он вращался в месте касания пользователя?Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 июня 2011

Я на самом деле не делал этого раньше, но я адаптировал часть своего кода (который делает вражеский корабль лицом к кораблю игрока) для того, что вам нужно.Надеюсь, это правильно.

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

...