今回はViewクラスに実装しますが、もちろん実装方法はこの限りではありません。
メモで使うサンプルプロジェクト
- プロジェクト名:TestApp
- アプリケーションクラス:TestAppAppDelegate
- ビューコントローラクラス:TestAppViewController
- ビュークラス:TestAppView
ビュークラスヘッダファイル"TestAppView.h"
ビュークラスのinterfaceの定義にプロトコル"UIAccelerometerDelegate"を追加
UIAccelerometerのインスタンスを追加
@interface TestAppView : UIView{
UIAccelerometer *accelerometer;
}
ビュークラスファイル"TestAppView.m"
ビュークラスへ加速度センサを初期化するメソッドを定義する。
accelerometer.updateIntervalに読み取り間隔(時間)の値を設定します。
ここで定義したメソッドを読み取りを開始したいタイミング(ビューコントローラクラスviewDidLoadメソッドの中など)で実行します。
設定した読み取り間隔の時間が来る度に実行するメソッドを定義する。
メソッド名は何でも可
-(void) InitializeAccelerometer {
accelerometer = [UIAccelerometer sharedAccelerometer];
accelerometer.updateInterval = 1.0f / 30.0f; // 読み取り間隔の設定
accelerometer.delegate = self;
}
accelerationにそれぞれの座標軸の加速度が-1.0〜+1.0のfloat型で取得できます。
acceleration.x, acceleration.y, acceleration.zでそれぞれの座標軸の値が取得できます。
- (void)accelerometer:(UIAccelerometer *)accelerometer
didAccelerate:(UIAcceleration *)acceleration {
// 例としてコンソールに表示
NSLog(@"x=%f : y=%f : z=%f", acceleration.x, acceleration.y, acceleration.z);
}
- 作者: 鶴薗賢吾
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/04/23
- メディア: 大型本
- 購入: 14人 クリック: 334回
- この商品を含むブログ (37件) を見る