(Xcode/iPhone)水平器アプリ制作、の勉強メモ。

 

「フレームワーク/クラス」

CoreMotion/CMMotionManager(iPhoneの動作に関するセンサーを管理するクラス) 

 

「アプリの起動と同時に動作開始」

– (void)viewDidLoad

{

    [superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

    [self startMoving];

}

 

「startMovingメソッドのソースコード」

-(void)startMoving

{

    self.motionManager = [[CMMotionManager alloc] init];

    self.motionManager.accelerometerUpdateInterval = 1.0 / 60.0;

    

    NSOperationQueue *queue = [NSOperationQueuemainQueue];

    

    [self.motionManager startAccelerometerUpdatesToQueue:queue withHandler:

     ^(CMAccelerometerData *accelerometerdData, NSError *error){

         

         CMAcceleration acceleration = accelerometerData.acceleration;

         float centerX;

         centerX = 160.0 – acceleration.x * 160.0;

         

         if (centerX < 80.0) {

             centerX = 80.0;

         } else if (centerX > 240) {

             centerX = 240.0;

         }

         self.bubble.center = CGPointMake(centerX, self.bubble.center.y);

     }];

}

 

「まとめ」

・加速度センサーを使うにはCoreMotionフレームワークを利用

・加速度センサーのデータを取得するクラスはCMMotionManager

・加速度センサーのデータを取得し続けられるようにするために、CMMotionManagerのインスタンスはプロパティとして宣言

・加速度センサーのデータを使った処理はstartAccelerometerUpdateToQueue:withHndler:メソッドに記述

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ストーンウェブ代表のFujimoriです。Twitter界隈では「Fujimori@元経営者のマッチョマーケター」として活動しています。
私がWebに関するブログを書き始めたのは2013年1月で、おしブロ(おしい県でWebに携わって働く人のブログ)というブログをはてなブログに開設したのが始まりです。それ以前にも経営してた会社/店舗の代表ブログを書いていましたが「Web」というジャンルに限定するとそんな感じです。
このブログは、2021年10月におしブロの記事を丸々移行してスタートしましたので、2021年10月以前の記事はおしブロで書いたものになります。

目次
閉じる