2012-01-05 2 views
1

애플 개발자 문서에이 이미지로 처리 움직임을 설명합니다iOS의 가속도계로 어떤 움직임을 관리하나요?

Developer documentation

나는 내가 가속도계가 축에 번역을 처리하지 않는 것을 얻을 몇 가지 테스트를하고 있기 때문에 ... 지금은 꽤 혼란 스러워요하지만, 회전의 작은 세트 ... 예를 들어 만약 내가 X 도끼에 아무것도 내 장치를 이동 .. 만약 내가 Z에 회전하면 X 가속을 얻을. 여기

난 내 테스트를 위해 사용하는 코드 :

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{ 

    [self.sliderX setProgress:fabsf(acceleration.x)]; 
    [self.sliderY setProgress:fabsf(acceleration.y)]; 
    [self.sliderZ setProgress:fabsf(acceleration.z)]; 
} 

편집 ------ 내가 전에 말했듯이, 하나의 도끼에 회전에 연결되어 이해할 수없는 동작. .. Z 축을 30 ° 회전 시키면 계속 가속됩니다 ... X 축을 평행 이동하는 동안 짧고 빠른 이동에만 가속도가 적용됩니다.

답변

2

가속도계는 중력 가속에 가장 큰 영향을받습니다. 실제로 자유 낙하와 그것이 실제로하고있는 것의 차이를 되돌리고 있습니다.

테이블에 아이폰이 평평한 경우 z 방향으로 가속해야합니다. 긴면 중 하나에서 균형을 맞춘다면 x 방향으로 가속해야합니다. iPhone이 바닥에 떨어졌을 때 (0, 0, 0)의 가속도 벡터를 가져야합니다.

iPhone을 움직이면 슬라이딩 효과가 발생하지만 중력에 비해 작을 수 있으므로 놓치기 쉽습니다.

그래서 z에 대해 회전하면 기기와 관련하여 중력 방향을 변경했기 때문에 지속적인 변화가 생깁니다. x에서 번역은 일시적으로 장치를 가속화 한 다음 가속을 중지하기 때문에 일시적으로 변경됩니다.

관련 문제