我根据本教程创建了一个绳子,除了我的绳子在绳子的每一端都有一个球。
高级:这就是他们如何创造绳子。
- 创建
SKNodes
数组 - 将每个绳索段(节点)附加到数组
- 将每个节点添加到屏幕
- 将每个节点连接在一起形成绳索
- (然后我在绳子的两端添加一个球)
在我的程序中,我移动球,基本上摆动绳子,有点像一个有弹性的钟摆。
这是我的问题:如果我非常努力地摆动绳子,绳子会拉伸得太多!我怎样才能减少绳子拉伸的量?我看不出有什么方法可以降低身体的弹性。
如果有任何其他有用的信息,请告诉我!提前感谢
您可以尝试这两种方法。第一种方法是增加SKPhysicsJointPin
类的frictionTorque
性质。
取值范围为0.0 ~ 1.0。默认值为0.0。如果一个值大于默认值时,摩擦力应用于减小物体绕销的角速度
您遵循的教程示例,在向场景添加joint
之前,修改frictionTorque
:
for i in 1...length {
let nodeA = ropeSegments[i - 1]
let nodeB = ropeSegments[i]
let joint = SKPhysicsJointPin.jointWithBodyA(nodeA.physicsBody!, bodyB: nodeB.physicsBody!,
anchor: CGPointMake(CGRectGetMidX(nodeA.frame), CGRectGetMinY(nodeA.frame)))
joint.frictionTorque = 0.5 // Add this line
scene.physicsWorld.addJoint(joint)
}
第二种方法是限制销接头的摆动角度。启用shouldEnableLimits
后,调整lowerAngleLimit
和upperAngleLimit
的弧度。
阅读更多关于确定引脚连接特性的SKPhysicsJointPin类参考