我把多张图片拼成一根绳子。怎样才能减少绳索的弹力?

时间:2015-09-30 04:42:29

标签: ios swift sprite-kit verlet-integration elasticity

我创建了一个基于this教程的绳索,除了我的绳子在绳子的每一端都有一个球。

高等级:这是他们创造绳索的方式。

  1. 创建一个SKNodes
  2. 数组
  3. 将每个绳索段(节点)附加到数组
  4. 将每个节点添加到屏幕
  5. 将每个节点连接在一起形成一根绳子
  6. (然后我在绳子的两端添加一个球)
  7. 在我的节目中,我将球移动并基本上摆动绳子,就像一个有弹性的摆锤。

    这是我的问题:如果我非常用力地挥动绳索,绳子会伸展太多!如何减少绳索伸展的量?我没有看到降低身体弹性的方法。

    如果有任何其他信息有用,请告诉我们!提前致谢

1 个答案:

答案 0 :(得分:2)

您可以尝试这两种方法。第一种方法是增加frictionTorque类的属性SKPhysicsJointPin

  

值的范围是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后,请以弧度调整lowerAngleLimitupperAngleLimit

详细了解Determining the Characteristics of the Pin Joint的SKPhysicsJointPin类参考。