所以我问了一个与这个问题稍微相似的问题,但没有得到答案,所以我想我会更多地自己研究它,并缩小我的问题范围,让它更简单。
在我的 Box2D 游戏中,我使用物理编辑器来处理我的碰撞检测。在我的主类(GameLayer)中,我有一个设置 ShapeCache 的方法,并将其放入 init 中:
- (void)setupShapeCache
{
[[ShapeCache sharedShapeCache] addShapesWithFile:@"shapes.plist"];
}
“shapes.plist”在我的目标中(在复制包资源下),它在我的项目的资源文件夹中,与我在整个 xcode 项目中使用的名称相同。
当我运行我的游戏时,我的 ShapeCache 类中不断出现断言失败错误。我发现这是因为“shapes.plist”文件永远不会加载。
确切的错误如下所示:
Assertion failed: (so), function -[ShapeCache addFixturesToBody:forShapeName:userdataCallBack:],
file /Users/***/Desktop/***/***/ShapeCache.mm, line 92.
我的 ShapeCache 类改编自 Space Game Starter Kit,但我不认为这会有所不同(SpaceGame ShapeCache vs PhysicsEditor ShapeCache)
有谁知道为什么我的物理编辑器 plist (shapes.plist) 永远不会加载?
如果有更多信息有帮助,请告诉我!
太感谢了!
:)