2011-09-17 7 views
2

나는 이것이 매우 일반적이며 모호한 질문이라는 것을 알고 있지만, 가능한 한 가장 쉬운 방법으로이 기능을 내 앱에 어떻게 가져올 지 궁금하다. 거기서 많은 게임을 볼 수 있습니다. Doodle Jump는 가속도계를 보정 할 수있게 해주는 제 1의 예입니다. 옆으로 앉아 있으면 게임이 새 것처럼 잘 작동합니다. 그들은 어떻게합니까? 내 앱에서 같은 기능을 원하지만이 기능을 얻기 위해 무엇을해야할지, 어디로 가야할지 모르겠습니다.가속도계 보정?

감사합니다.

답변

2

"교정"은 일부 루트 값 또는 상태에 대한 지속적인 참조로 간주 할 수 있습니다. 교정을 재설정하려면 다른 모든 값이 파생 된 루트 값을 재설정하면됩니다. 가속도계를 사용하면 델리게이트 콜백을 통해 변경 사항이 감지되는시기를 알 수 있으므로 가속도계의 현재 상태를 "캡처"하는 방법 만 작성하면됩니다. 우리가 싶습니다으로 "통제"로이 아니라,

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { 
    calibration = acceleration.y; 
} 

그러나 다음 tutorial outlined here에서

는, 이러한 방법은 다음과 같이 설명되어 있습니다. 대신 대리자로 UIAccelerometer과의 관계를 끊거나 조정을 허용할지 여부를 나타내는 BOOL ean 속성으로 묶습니다.

-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { 
    if (self.allowsCalibration) 
     calibration = acceleration.y; 
} 
+0

내가 전에 본, 그러나 것은 그가 풍경을 사용하기 때문에, 나는 초상화를 사용하여 내 응용 프로그램이 적용하는 방법에 대한 혼란 스러워요입니다 : 이런 식으로 뭔가가 잘 작동합니다. 또한 다른 뷰에서 교정하고 있으므로 교정 할 방법에 대한 도움이 필요합니다. 이 작업을 수행하는 방법에 대한 아이디어가 있습니까? –

+0

인물 사진의 경우 그래프를 90 ° 회전하는 것과 같습니다. 기본적으로 모든 x 점을 y 점으로 만듭니다. (예 : Float accelx가 이제는 유동적입니다.) – CodaFi

+0

알았어 .x 값이 이제는 .y 값이고, 그 반대의 경우도 마찬가지야. 또한 다른 견해에서 교정을 위해 무엇을 추천합니까? 나는 어떻게 그것을 성취 할 것인가? –