そのため、これと少し似た質問をしましたが、回答が得られなかったので、自分でもっと調べて、問題を絞り込んでより単純にすることにしました。
私の Box2D ゲームでは、物理エディタを使用して衝突検出を処理しています。私のメイン クラス (GameLayer) には、ShapeCache を設定するメソッドがあり、それを init に配置します。
- (void)setupShapeCache
{
[[ShapeCache sharedShapeCache] addShapesWithFile:@"shapes.plist"];
}
「shapes.plist」はターゲット (コピー バンドル リソースの下) にあり、プロジェクトのリソース フォルダーにあり、xcode プロジェクト全体で使用されているのと同じ名前です。
ゲームを実行すると、ShapeCache クラスで assertion failed エラーが発生し続けます。これは、「shapes.plist」ファイルが読み込まれないためであることがわかりました。
正確なエラーは次のようになります。
Assertion failed: (so), function -[ShapeCache addFixturesToBody:forShapeName:userdataCallBack:],
file /Users/***/Desktop/***/***/ShapeCache.mm, line 92.
私の ShapeCache クラスは Space Game Starter Kit から採用されていますが、それが違いを生むとは思いません (SpaceGame ShapeCache と PhysicsEditor ShapeCache の比較)
私の物理エディタの plist (shapes.plist) がロードされない理由について、誰か考えはありますか?
さらに情報が役立つ場合は、教えてください!
どうもありがとう!
:)