2010-03-11 2 views
0

저는 잠시 동안이 문제에 시달렸습니다.2 차원으로 360도 회전합니다. 3 차원 papervision에서 객체를 objectscript로 옮깁니다.

저는 키보드 입력을 사용하여 회전하는 종이 카메라가 있습니다. 카메라 회전시 방향을 향하고 싶은 레이더가 있습니다.

내 카메라 (카메라) DisplayObject3D.rotationYRadarInterface.rotation에 올바르게 매핑해야합니다. 시계 방향 : 나는 0에서 90으로 갈 것 180도 회전한다면 0 to 89, 89 to 0, -0 to -89, -89 to -0 그래서 완전한 360

을하고

카메라 (또는 3 차원 객체) 열심히 찾는거야 값으로 작동 다시 0으로 되돌아갑니다.

누구든지 이것을 360 도로 변환하는 방법을 알고 있습니다.

미리 감사드립니다.

답변

0

내가 제시 한 숫자가 어떻게 작용하는지 정확하게 알 수 없습니다. 과거에는 플래시가 270에서 -90으로 변경 되었기 때문에 잘못 회전하는 물체에 회전 문제가있었습니다. 아래의 성명서는이 사실을 몇 번 도와줍니다. 당신이 45도 135과 같은 값을 반환 건가요 (180)

if (Math.abs (difference) > 180) { 
    difference = difference > 0 ? difference - 360 : 360 + difference; 
} 

에 -180 360 0에서 범위를 변경?

+0

아름다운. 이것은 저와 함께 로테이션 대신 localRotationY를 사용하여 공식을 변경했습니다. 회전도 차수 보정 값이지만 localRotation은 일정합니다. 0부터 360까지 + 0으로 재설정하지 않아도됩니다. 따라서 두 번 돌리면 0 대신 720이됩니다. – Glycerine