【发布时间】:2016-07-17 15:24:04
【问题描述】:
我目前有两个 SKSpriteNode,我已将 SKPhysicsBodies 添加到其中。当它们没有附加 SKJoint 时,它们会按预期发生碰撞。一旦我添加了 SKPhysicsJoint,它们就会直接通过对方。我正确添加功能的任何关节,但 SKPhysicsJointLimit 仅限制节点可以彼此分开的程度,而不是它们可以接近的程度。我该如何解决这个问题?
这是我用于关节的代码:
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:
self.physicsBody = SKPhysicsBody(circleOfRadius: self.size.width / 2)
self.physicsBody?.allowsRotation = false
self.physicsBody?.friction = 0
self.physicsBody?.mass = 0.1
我已经对 SKPhysicsBody 的上述修改使用不同的值对其进行了测试,它的性能相同。
【问题讨论】:
标签: ios swift sprite-kit