Cocos2d角度混乱

时间:2011-10-16 15:00:23

标签: iphone objective-c xcode cocos2d-iphone

这个系统让我很困惑。我正在转动一个炮塔面对一个敌人的精灵,我用弧度得到角度:

float angleRadians = atanf(yDifference / xDifference);
float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians);

这很酷,现在我把敌人放在几个位置,看看它是如何在DEGREES中绘制角度的:

T =炮塔

-45      90      45

-0        T       0

45       -90     -45

炮塔右上角的角度将与敌人左下角的角度相同,因此我必须有某种形式的条件来区分2.这不会除了cocos2d的旋转角度是这样的事实之外,我们很难:

45      90        135

0       T       +/-180

-45    -90       -135 

如何将我在开始时计算的角度转换为使用上述系统正确旋转炮塔,我该怎么做?

1 个答案:

答案 0 :(得分:6)

如果您使用:

float angleRadians = atan2f(yDifference, xDifference);

这应该以弧度返回一个角度,该角度在[-pi,pi]范围内。 这应该解决你的问题。