2
pathPhysics.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:physicsPath];
和
pathPhysics.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromPath:physicsPath];
的文档之间的区别不是很清楚。这只是一个关闭的道路,而另一个没有?
pathPhysics.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:physicsPath];
和
pathPhysics.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromPath:physicsPath];
的文档之间的区别不是很清楚。这只是一个关闭的道路,而另一个没有?
是的,封闭与开放是主要区别。
但是可能会有内部优化。在Box2D中,边缘链形状用于创建像洞穴系统边缘那样的大型自由形状形状。边缘链形状与“正常”边缘形状相比具有优势,它们可以连接在一起以创建无缝过渡。在Box2D中,如果创建多个边,则在边缘形状上滑动的对象可能会在边界处停止,而边链形状可以解决此问题。
鉴于我认为这是公平的假设链形状更好地优化自由形式的碰撞形状,特别是如果它们由许多顶点组成。
有关详细信息,请参阅Box2D manual(第4章:边缘形状,链形状)。
“在Box2D中,如果创建多个边,则在边缘形状上滑动的对象可能会在边界处停止,而边缘链形状可以解决此问题。” - 你的意思是,node2通过链的开放端从node1(node1是边缘链)滑落?或者更像完全不同的行为? – mredig
请参阅手册中的说明。问题在于边缘顶点可能会导致物体在直线上碰撞或停止。 – LearnCocos2D