2
我注意到以下幾點:在兩個SKPhysicsBody對象之間創建SKPhysicsJoint會禁用它們之間的碰撞檢測嗎?
- 如果我創建一個物理邊界(
bodyWithEdgeLoopFromRect
)和每一個圓形固體物理體(bodyWithCircleOfRadius
)兩個節點的場景,在添加這些2個節點現場,他們如預期的那樣,可以相互碰撞並與場景的邊界相碰撞。 - 但是,如果我在兩個節點之間添加任何類型的關節,則它們之間的關節約束條件成立,並且它們都可以與場景的邊界發生碰撞。但他們不再相互碰撞。
這看起來像是一個bug。我期望物理實體之間的任何關節都將是它們的基本碰撞機制的補充。有沒有人遇到類似的行爲,或者有什麼暗示我可能會做錯什麼? (因爲SpriteKit使用Box2d,所以這可能是一個我不知道的box2d已知問題)。因爲SpriteKit使用Box2d,所以這可能是一個box2d已知問題,我不知道)。
謝謝。但是,那麼,你如何在box2D中建模一些東西,比如說用繩子連接的兩個球? – SaldaVonSchwartz
我想你會使用繩索接頭,但不幸的是它不包含在Sprite Kit中。 – LearnCocos2D
它是:SKPhysicsJointLimit,它確實是我正在使用的關節的類型。但問題是,它只有maxLength,所以兩個節點受到限制,通過它不能遠遠超過maxLength,但仍然可以一起移動,儘可能多地彼此交叉,這正是我想要避免的。雖然現在我將節點的中心聯繫在一起。也許我應該把它們固定在邊界的邊緣上呢? – SaldaVonSchwartz