2011-10-16 2 views
3

이 시스템은 정말 혼란 스럽습니다. 이 각도 각도를 꾸몄다 방식을 볼 수 멋진코코스 2D 각도 혼동

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

가, 지금은 여러 위치에서 적을 넣어 : 내가 적 스프라이트를 얼굴에 포탑을 회전하고있어, 나는와 라디안 각도를 얻을

T = 터렛

-45  90  45 

-0  T  0 

45  -90  -45 

포탑의 적 오른쪽 상단의 각도 따라서 나는 조건의 어떤 형태를 가지고해야 할 것이다, 하단 왼쪽 적군의 각도와 동일 할 것입니다 2. cocos2d의 회전 각도가 좋아지는 것을 제외하고는 어렵지 않을 것입니다. e :

45  90  135 

0  T  +/-180 

-45 -90  -135 

처음에 계산 한 각도를이 시스템으로 포탑을 올바르게 돌리기 위해 수행해야하는 작업은 무엇입니까?

+1

atan2f를 사용하면 더 좋은 결과를 얻을 수 있습니다 (yDifference, xDifference) –

답변

6

가 사용할 경우

float angleRadians = atan2f(yDifference, xDifference); 

는 범위 [-pi, PI]에 라디안의 각도를 반환한다. 이렇게하면 문제가 해결됩니다.

+0

phew, 나를 미치게 한 덕분에! – FBryant87

관련 문제