API Docs for: 0.7.1
Show:

DistanceConstraint Class

保持两个物体之间的距离不变的约束。

构造器

DistanceConstraint

(
  • bodyA
  • bodyB
  • [options]
)

参数:

  • bodyA Body
  • bodyB Body
  • [options] Object 可选
    • [distance] Number 可选

      两个目标点保持的距离,默认为当前两个刚体之间的距离

    • [localAnchorA] Array 可选

      刚体A 的目标点,在刚体A的范围内定义,默认为[0, 0]

    • [localAnchorB] Array 可选

      刚体B 的目标点,在刚体A的范围内定义,默认为[0, 0]

    • [maxForce=Number.MAX_VALUE] Object 可选

      施加的最大作用力

Example:

// 如果距离没在参数中给出,则使用当前两个刚体之间的距离
        //下例中,刚体之间将被约束与彼此中心有两个单位的距离
        var bodyA = new Body({ mass: 1, position: [-1, 0] });
        var bodyB = new Body({ mass: 1, position: [1, 0] });
        var constraint = new DistanceConstraint(bodyA, bodyB);
        world.addConstraint(constraint);
        
// 自定义设置距离和目标点
        var constraint = new DistanceConstraint(bodyA, bodyB, {
            distance: 1,          // Distance to keep between the points
            localAnchorA: [1, 0], // Point on bodyA
            localAnchorB: [-1, 0] // Point on bodyB
        });
        world.addConstraint(constraint);
        

Methods

getMaxForce

() Number

获取最大作用力

Returns:

Number:

setMaxForce

(
  • maxForce
)

设置使用的最大作用力

参数:

  • maxForce Number

setRelaxation

(
  • relaxation
)

为这个约束设置弛豫度

参数:

  • relaxation Number

setStiffness

(
  • stiffness
)

为这个约束设置刚度

参数:

  • stiffness Number

update

()

在求解前更新约束方程,任何刚体改变位置时完成

Properties

bodyA

Body

将要参与约束的第一个刚体.

bodyB

Body

将要参与约束的第二个刚体.

collideConnected

Boolean

如果你想将连接的刚体碰撞,将其设置为true

Default: true

distance

Number

需要保持的距离

equations

Array

用于求解约束的方程

localAnchorA

Array

刚体A 中的目标点

localAnchorB

Array

刚体B 中的目标点

lowerLimit

Number

约束下限。

lowerLimitEnabled

Boolean

是否启用约束下限

maxForce

Number

施加的最大作用力

position

Number

当前约束位置,等于当前目标点在世界中的距离

upperLimit

Number

约束上限

upperLimitEnabled

Boolean

是否启用约束上限