2010-12-01 6 views
1
나는 안드로이드 애니메이션 프레임 워크와 함께 놀았 던

을 번역 나는 다음과 같은 3 차원 회전 샘플 코드를 발견되는 :3D 회전이

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/animation/Transition3d.html

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/animation/Rotate3dAnimation.html

그것은 않습니다 거의 내가 원하는하지만 ImageView가 A 지점에서 B 지점으로 변환되는 동안 회전하고 화면의 컨테이너 중심 대신 자체 중심 (움직이는 위치)을 따라 회전해야합니다.

누구든지 어떻게하는지 압니까?

-Rachel

답변

0

그럼 당신이 무엇을 게시에 아주 가까이 있습니다. 기본적으로 회전 행렬에 변환 행렬을 곱합니다. 그것은 본질적으로 커버 아래에서 일어나는 일입니다. 회전이 먼저 번역

Matrix matrix = transformation.getMatrix(); 
matrix.rotate(rotateX, rotateY); 
matrix.postTranslate(transX, transY); 

먼저 번역을하기 전에 자신의 축을 중심으로 이미지를 회전합니다 : 안드로이드는 그것의 API와 당신의 세부 것을 숨 깁니다.

+0

matrix.setRotate (rotateX, rotateY)를 원하셨습니까? 나는 이것이 2D 회전 tho를위한 것이라고 생각합니다. 3D 회전 효과를 얻기 위해 camera.rotateY를 사용해야하지 않습니까? –

관련 문제