我根据本教程创建了一根绳子,除了我的绳子在绳子的每一端都有一个球。
高级:这就是他们制作绳索的方式。
- 创建一个数组
SKNodes
- 将每个绳索段(节点)附加到数组
- 将每个节点添加到屏幕
- 将每个节点连接在一起形成一条绳索
- (然后我在绳子的每一端添加一个球)
在我的程序中,我移动球,基本上像一个有弹性的钟摆一样摆动绳索。
这是我的问题:如果我非常用力地摆动绳子,绳子就会拉伸太多!如何减少绳索的拉伸量?我没有看到降低身体弹性的方法。
如果有任何其他有用的信息,请告诉我!提前致谢
我根据本教程创建了一根绳子,除了我的绳子在绳子的每一端都有一个球。
高级:这就是他们制作绳索的方式。
SKNodes
在我的程序中,我移动球,基本上像一个有弹性的钟摆一样摆动绳索。
这是我的问题:如果我非常用力地摆动绳子,绳子就会拉伸太多!如何减少绳索的拉伸量?我没有看到降低身体弹性的方法。
如果有任何其他有用的信息,请告诉我!提前致谢
你可以试试这两种方法。第一种方法是增加类的frictionTorque
属性SKPhysicsJointPin
。
值的范围是从 0.0 到 1.0。默认值为 0.0。如果指定的值大于默认值,则会应用摩擦来降低对象围绕销的角速度。
您遵循的教程的示例,在将 a 添加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 类参考。