現在、SKPhysicsBodiesを追加した2つのSKSpriteNodesがあります。 SKJointが接続されていないと、期待どおりに衝突します。私がSKPhysicsジョイントを追加するとすぐに、彼らはちょうど互いを通過します。私が追加するジョイントはすべて正しく機能しますが、SKPhysicsJointLimitは、ノードがどれほど近づくかではなく、互いに離れて移動できる範囲を制限します。これをどうすれば解決できますか?両方のノードのSKPhysicsJointLimitの追加後にSKPhysicsBodiesが衝突しない
let joint = SKPhysicsJointLimit.joint(withBodyA: object1.physicsBody!, bodyB: object2.physicsBody!, anchorA: CGPoint(x: object1.position.x + iconController.position.x, y: object1.position.y + iconController.position.y), anchorB: CGPoint(x: object2.position.x + iconController.position.x, y: object2.position.y + iconController.position.y))
joint.maxLength = screen.height * 0.4
physicsWorld.add(joint)
PhysicsBody:ここ
私は関節のために使用しているコードであるIはSKPhysicsBodyの上記変形のための異なる値とそれをテストして、それが実行
self.physicsBody = SKPhysicsBody(circleOfRadius: self.size.width/2)
self.physicsBody?.allowsRotation = false
self.physicsBody?.friction = 0
self.physicsBody?.mass = 0.1
同じ。
私はあなたが示唆したように物理学を見せて何が起こっているのか以前に調べていました。しかし、物理学を示すだけで、私はそれが表示されるべきだと思ったものを示した。どちらのアンカーも、各ノードの中間に正しく配置され、ノード間のジョイントを示す線が表示されていました。繰り返しますが、ジョイントは外向きで動作しますが、ノードが互いに向かって内側に移動するときには、単に衝突しません。 – mhillsman
あなたのオブジェクトはSKPhysicsジョイントの追加の前によく衝突しましたか?あなたの質問では、コードを報告しないので私はそれを尋ねます。 –
はい、うまく衝突しました。実際には、ジョイントが追加されても、通常は互いを除くすべてのノードに衝突します。私は私の質問に私のコードのいくつかを追加します。 – mhillsman