CLOSE SEARCH
POSTS TAGGED WITH: Accelerometer

가속도계 / Accelerometer

iOS기반 디바이스에 내장된 가속도계에 접근하기 위해서는 UIAccelerometer 클래스를 통해 제공되는 공유 인스턴스를 이용한다. + (UIAccelerometer *)sharedAccelerometer 메소드를 통해 가속도계의 공유 인스턴스를 얻은 다음 업데이트 주기와 델리게이트를 설정하면 가속도계 변경 이벤트를 받을 수 있다. 설정 가능한 최대 주기값은 디바이스의 성능에 따라 다르지만 일반적인 앱에서는 1/10, 게임에서는 1/60 정도가 적당하다. 가속도계 사용을 마친 후에는 델리게이트를 nil로 설정한다.

 

UIAccelerometerDelegate

UIAcceleration 클래스는 가장 최근에 발생한 가속도 이벤트에 대한 정보(x, y, z, timestamp)를 가지고 있는 클래스이다. 각 축은 해당 방향으로의 중력 가속도를 나타내며 1.0은 중력가속도 1.0g를 의미한다.

Orientation of the device axes from iOS Developer Library

Using Accelerometer

AccelerometerSample <- 샘플 프로젝트



– (void)viewDidLoad {
[super viewDidLoad];
[[UIAccelerometer sharedAccelerometer] setUpdateInterval:0.1f];
[[UIAccelerometer sharedAccelerometer] setDelegate:self];
}


– (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
xLabel.text = [NSString stringWithFormat:@”%f”, acceleration.x];
yLabel.text = [NSString stringWithFormat:@”%f”, acceleration.y];
zLabel.text = [NSString stringWithFormat:@”%f”, acceleration.z];
}


– (void)dealloc
{
[[UIAccelerometer sharedAccelerometer] setDelegate:nil];
[super dealloc];
}