我有一个SKSpriteNode
,它有一个静态体,由edgeChainFromPath
的凹路径生成。让我们称这个节点为房子。
我还有另一种具有动态方体的SKSpriteNode
,用rectangleOfSize
生成。我们称这个节点为框。
在我的场景中,箱被投掷,也被冲进了房子,因为他们两个都有尸体,箱应该与房子碰撞并反弹。
我正在滚动场景,因此创建了上面描述的完全相同的房子**的新实例。
我遇到的问题是,对于一些房屋来说,碰撞是完全或部分破坏的**.有些房子与盒子碰撞完全按照它们应该碰撞,有些只在身体的一些随机部分碰撞盒子**,有些完全忽略与盒子碰撞。
此问题仅发生在 iPad 上,而不会发生在 iPhone 上。在 iPad 模拟器和真正的 iPad 设备上都会发生。
问题完全随机发生在随机房屋。
我也尝试用edgeLoopFromPath
创建house body,但问题仍然存在。
此外,我正在绘制物理学,并且可以看到房子的物理主体正是应该的。
关于值得讲述的场景或节点没有别的特别之处。
我在iOS 9
中使用SpriteKit
和Swift
。
更新:
似乎问题是在house节点上设置比例。我必须这样做,以便在所有屏幕尺寸上具有通用外观。
还在找 solution/workaround...
1 回答
这可能是由于 edgeLoopFromPath 创建了一个带有边缘的空心盒子,而不是带有卷的边缘。
我会尝试使用bodyWithPolygonFromPath以及为你的盒子和房子添加 exactCollisionDetection。