我试图将两个SKNodes
都具有相同大小的圆形物理体连接在一起。它们的位置可以相互接触,我希望它们被锁定在一起。从文档中,听起来我想要一个SKPhysicsJointFixed
,并且我尝试创建一个锚点是两个节点之间的中点 - 像这样:
let fixedJoint = SKPhysicsJointFixed.joint(withBodyA: atom1.physicsBody!, bodyB: atom2.physicsBody!, anchor:midPoint)
但这会导致一种奇怪的行为,即在制作关节后,顶部节点从底部节点落下 - 在关节存在之前,物理体相互靠着。
如果我使用具有相同代码的销接头代替 - 它按预期工作,即:
let pinJoint = SKPhysicsJointPin.joint(withBodyA: atom1.physicsBody!, bodyB: atom2.physicsBody!, anchor:midPoint)
将身体按我想要的方式锁在一起。我想这是一个非常好的解决方案 - 但我对正在发生的事情感到困惑。为什么我的销接头做我认为固定接头会做的事情,为什么固定接头不做我认为它会做的事情?