2011-10-16 68 views
3

這個系統真的困惑了我。我旋轉炮塔正面爲敵的精靈,我得到的角度與弧度:cocos2d的角度混亂

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

這很酷,現在我把敵人的幾個位置,看看它是如何繪製的角度度:

T =炮塔

-45  90  45 

-0  T  0 

45  -90  -45 

爲轉檯的敵人右上方的角將是一樣的敵人左下的角度,因此,我不得不具有某種形式的條件區分2.這不會很難,除了這一事實的cocos2d的旋轉角度的工作LIK E本:

45  90  135 

0  T  +/-180 

-45 -90  -135 

我有什麼做的,我在一開始計算的角度轉換爲正常旋轉上面這個系統的炮塔?

+1

如果使用atan2f(yDifference,xDifference) –

回答

6

如果使用:

float angleRadians = atan2f(yDifference, xDifference); 

這應該返回以弧度表示的角度是在範圍[-pi,PI]。 這應該可以解決您的問題。

+0

唷,幸虧這是推動我瘋了,你會得到更好的效果! – FBryant87