ここ2回ほどBox2DのiPhone版をいじっていたのですが、バージョンが2.0.2と古いので色々と入れ替えて2.1.2にバージョンアップしました。

ipbox2d_212_01

ダウンロード(Box2D_2.1.2.iPhone.zip)

※XCodeのプロジェクト設定(.xcodeproj)は「Build」→「iPhone」→「Box2D」フォルダの中にあります。

 

少々手間取りましたが、終わってみるとそんなにたいした作業でもありません。

PC版Box2D 2.1.2のソースコードを落としてきて、Box2D本体の部分とTest関連のソースコードを入れ替え、プロジェクトにドラッグ&ドロップして更新します。元のiPhone版ではBox2D本体のソースコードが「Sourceフォルダ」に入っていたのですが、これをBox2Dという名前に変えます。さらにプロジェクト設定を開いて「ヘッダ検索パス」に「../../../」を設定します。

ipbox2d_212_02

後はiPhoneTest.h/mm、GLES-Render.h/mm、iPhoneTestEntries.mmを、PC版のソースコードとにらめっこしながら編集して完成です。

ついでに「Box2DOrientation.h」というファイルを足し、その中の「BOX2DVIEW_LANDSCAPE」という#defineマクロによって縦画面固定と横画面固定を切り替えできるようにしました。

実機テストも問題なくパス。これを元に作ったアプリがApp Storeで売れるかどうかはわかりませんが……(テーブルビュー周りで使ってるメソッドが古い的な警告が表示されていたので、そこは引っかかりそうです)。