Learn iPhone, iOS, Objective-c, Swift, cocos2dx, Unity and ….?

iOSやAndroid開発でのエラー解決法や便利tipsのメモ

RSS Feed

Box2Dで加速度センサーを使う方法

0 Comments
Posted by Kuro on 2013/01/13

スポンサードリンク

前回の記事の続きです。

前回はcocos2dで加速度センサー処理を実装しましたが、今度はそれをBox2Dに組み込みます。

Box2Dの世界では下に向かって重力がかかるのが普通なので、iPhoneの傾きでオブジェクトを自由に動かすという仕様ではなく、tilt操作で地面(画面下)を左右に動かすという仕様にしました。

大ヒットアプリ”Sky Burger”の操作性を参考にしました。
だいたい同じような操作性になっているかと思います。

傾きの角度に応じてb2MouseJointにターゲットを設定しています。

ここで出てくる160という値は画面サイズの半分です。
PTM_RATIOは32で、Box2D用サイズに変換しています。
gravity.xの値が0で画面中央、0.5で右端、-0.5で左端に移動します。
90度傾けたときに1もしくは−1になるので0.5だと45度かとおもいきや、やってみると30度くらいな感覚です。
数学、物理には疎いのでどういう計算になっているのかは理解していません。

スポンサードリンク


Filed under Box2D, Programming
Tagged as ,
You can leave a comment, or trackback from your own site.

0 Comments

You can be the first to comment!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

Popular Posts