'CCCameraAction'에 해당되는 글 1건

  1. 2011.09.14 CCCameraAction 와 CCOrbitCamera (cocos2d for android)

CCCameraAction 이 CCIntervalAction을 상속했다지만 다이렉트로 이 클래스를 사용할일은
현재까지는 별로 없을듯합니다.   하는 일이라고는 거의 초기화 관련 변수들을 초기화 해준는것말고는 없습니다.   

<출처 :http://www.cocos2d-iphone.org/api-ref/0.99.0/interface_c_c_orbit_camera.html>

위에 그림에서 보다 시피  실질적으로 쓰이는 부분은 CCOrbitCamera 입니다. 
즉  카메라 관련 Action을 하려면 CCOrbitCamera 을 쓰세요 

그럼 본격적으로 CCOrbitCamera 을 알아보고자 합니다.
일단 클래스 설명부터 

/** CCOrbitCamera action

 * Orbits the camera around the center of the screen using spherical coordinates

 */


구면자표계를 사용하여 화면가운데를 이동하는 카메라의 궤도이다? 정확안 해석은 아닌데
의미는 대충 알것네요.
(구면좌표계란 ? 
중심에서의 거리, 방위각, 위도를 이용하여 3차원 위치를 표시하는 방법. 구면에서 나타나는 현상이 나 구면 형태로 전파되는 현상을 기술하기에 편리함.(출처 네이버 지식사전))

멤버변수로 
    float radius; 거리 
    float deltaRadius; 목표 거리
    float angleZ; 방위각
    float deltaAngleZ; 목표방위각
    float deltaAngleX;  목표위도
    float angleX; 위도 
있습니다. 다른멤버 변수가 있기는 하지만. 이는 위에서 설정한 값을 
라디언값으로 바꾸어 부분이므로 우리가 참고 할 필요는 없습니다.
생성자는  아래와 같습니다. 

 protected CCOrbitCamera(float t, float r, float dr, float z, float dz, float x, float dx)


t 는 Action의 시간을 나타내고 
차례대로 위의 멤버변수와 맵핑됩니다.
이 멤버변수에 따라 결과 값이 상당히 달라지므로 충분한 테스트를 해보는것을 추천합니다. 
대충 이렇게 값을 넣으면 이렇게 나오겟지 하고 대충 넣으면 원치않던 결과값이 나올수 있습니다. 


관련 테스트 예제는
ActionsTest.java
CocosNodeTest.java 
EffectsAdvancedTest.java
SpritesTest.java 
에 포함되어있습니다.  참고해보세요 






 
 
Posted by 수다쟁이증후군 :