【问题标题】:Cocos2d angle confusionCocos2d 角度混淆
【发布时间】:2011-10-16 15:00:23
【问题描述】:

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

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 

我必须做些什么来转换我在开始时计算的角度以使用上述系统正确旋转炮塔?

【问题讨论】:

  • 使用 atan2f(yDifference, xDifference) 会得到更好的结果

标签: iphone objective-c xcode cocos2d-iphone


【解决方案1】:

如果你使用:

float angleRadians = atan2f(yDifference, xDifference);

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2020-12-10
    • 1970-01-01
    • 2022-07-12
    • 1970-01-01
    • 2016-11-08
    相关资源
    最近更新 更多