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