スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


このエントリーをはてなブックマークに追加

加速度センサーを使ってデバイスの傾きや角度を取得する方法

iPhone/iPod touchアプリでは、加速度センサーを使ってデバイスの傾きや角度を取得することができる。

(1)UIAccelerometerDelegateプロトコルを実装
加速度センサーを利用するには、UIAccelerometerDelegateプロトコルに準拠したビューコントローラが必要になる。そこで、ビューコントローラのヘッダファイル(*.h)に<UIAccelerometerDelegate>を追加する。


@interface XXXViewContoller : UIViewController <UIAccelerometerDelegate>



(2)加速度センサーのイベントを設定する
ビュー表示時(viewWillAppear)等に、加速度センサーのイベントを設定する。
以下のように、加速度センサーのアクセスクラスのインスタンス(UIAccelerometer)を取得し、delegateと呼び出し間隔を設定する。


// 加速度センサーのイベントを設定
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = self;
accel.updateInterval = 1.0f/30.0f; // イベントの呼ばれる間隔(秒)



(3)加速度センサーのイベント関数を実装
ビューコントローラ内に、加速度センサーの値を取得する際に呼び出されるメソッドを作成する。このメソッドは、デバイスの傾きの変化に関わらず、上記(2)で設定した間隔で定期的に呼び出される。


// 加速度センサーの値を取得(設定された間隔で呼び出される)
- (void)accelerometer:(UIAccelerometer *)acel
        didAccelerate:(UIAcceleration *)acceleration {
   
    NSLog(@"x : %f", acceleration.x);
    NSLog(@"y : %f", acceleration.y);
    NSLog(@"z : %f", acceleration.z);

    // デバイスを横に向けた時の角度を取得
    double degree = atan2(acceleration.y, acceleration.x) * 180.0 / M_PI;
   
    NSLog(@"degree : %f", degree);
}



accelerationのプロパティは、
・acceleration.x:デバイスの右方向に対する加速度(傾き)
・acceleration.y:デバイスの上方向に対する加速度(傾き)
・acceleration.z:デバイスの奥方向に対する加速度(傾き)
を表す。
文章で書くと説明が難しいが、デバイスの中心から長さ1.0の糸を垂らして、それぞれの座標軸への成分と考えるとわかりやすい。

degreeは、デバイスを横向きにした時の傾きを角度で表した値。もちろん、奥側への角度や縦向きでの角度を計算することもできる。

(4)加速度センサーのイベント呼び出しを停止
ビュー終了時(viewDidDisappear)等、加速度センサーのイベント呼び出しが不要になったタイミングでデリゲートを解除する。


// 加速度センサーのイベントを解除
UIAccelerometer *accel = [UIAccelerometer sharedAccelerometer];
accel.delegate = nil;




このエントリーをはてなブックマークに追加

コメント

非公開コメント

iPhoneアプリ紹介
パズルナビ for パズドラ 2016
最強のコンボツール!
colorization-large-icon.png

スクリーンショットを読み込むとコンボを自動計算してくれるパズドラの攻略アプリです。


AirRuler
(簡易距離計)

リモートで簡単に距離を測定できるアプリ!
colorization-large-icon.png

目標地点に向けてiPhoneを傾けるだけで簡単に距離を測定できます。ゴルフの距離測定機能付きパターの代わりにも使えます。


補色残像アート
~見えない色が見えてくる~
白黒なのにカラーに見えてしまう不思議な映像を体験しよう!
colorization-large-icon.png

補色残像という目の錯覚を利用して、白黒写真がカラーに見える不思議な映像を作成できます。作成した映像は、アニメGIFに変換したり、Twitterに投稿することもできます。


タイピング革命
フリック練習はタイピング革命で!ネットランキングで盛り上がろう!
icon-l-typing.jpg

オンラインランキング上のプレイを閲覧できるリプレイ機能付き!フリック入力とローマ字入力に完全対応したタイピング練習アプリです。初心者も安心のトレーニングモード付き。

★なんと!あのAppBank様に紹介して頂きました!!
typing-sale-led.gif


簡単3Dカメラ
iPhoneで手軽に3D写真を楽しもう!平行法/交差法/アナグリフ/グラグラ3Dに対応。
icon-l-3d.jpg

2枚の写真を撮影するだけで、裸眼で立体視できる3D写真が作成できます。85円でステレオ写真もアナグリフも楽しめるのは簡単3Dカメラだけ!

プロフィール

あらきんぐ☆

Author:あらきんぐ☆
はじめまして。あらきんぐです。
4月からiPhoneを購入し、その魅力に取り付かれて、気がついたらアプリ開発の道へ!仕事でプログラム開発をしていますが、基本「動けばOK!」な適当エンジニアです。適当でもアプリは作れる!っていう事を、ブログを通じて証明していきたと思います。

最新記事
最新コメント
最新トラックバック
カテゴリ
FC2カウンター
全記事表示リンク

全ての記事を表示する

Twitter
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
アクセスランキング
[ジャンルランキング]
コンピュータ
309位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
31位
アクセスランキングを見る>>
オススメ商品
iPhone/iPodと一般オーディオを繋ぐ貴重なアイテム!
アプライドオリジナルアイテム MBB...

アプライドオリジナルアイテム MBB...
価格:3,980円(税込、送料別)

開発中級者にオススメ!「こんなことができるんだ!」と驚かされる一冊
【送料無料】iPhone...

【送料無料】iPhone...
価格:1,500円(税込、送料別)

安い!シンプル!カッコいい!
希少なiPhone対応キーボード内蔵ケース
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。