3

问题#1:
我是PhysicsJS 的新手,我试图用“篮子的verlet 约束”的想法创建一个绳索,
如下所示:JSFiddle
如你所见,这条绳索不自然!(摩擦,绳索重量,稳定时间......)并且通过增加绳索的长度,它变得更糟!
首先我认为,通过增加绳索粒子的质量,它会减速得更快,但是......

var basket = [];
var fpos = window.innerWidth / 2;
var epos = window.innerHeight / 2;
for ( var i = fpos; i < fpos + epos; i += 5 ){

    l = basket.push(
        Physics.body('circle', {
            x: i
            ,y: 50 - (i-fpos)
            ,radius: 1
            ,restitution: 0
            ,mass: 1000
            ,conf: 1
            ,hidden: true
        })
    );

    rigidConstraints.distanceConstraint( basket[ l - 1 ], basket[ l - 2 ], 2 );
}

问题#2:
修复之后,我怎么能把这个装箱:(
在绳子的末端附加一个矩形盒子)

在此处输入图像描述

4

1 回答 1

5

您可以添加一个盒子并将其连接到绳索的末端:

var box = Physics.body('rectangle', {
    x: i
    ,y: 50 - (i-fpos)
    ,width: 60
    ,height: 60
    ,styles: { fillStyle: '#fff' }
});

rigidConstraints.distanceConstraint( basket[ l - 1 ], box, 2 );

world.add(box);

结果是这样的:http: //jsfiddle.net/REGCU/14/ 但不幸的是,目前还没有一种方法可以处理在您绘制的框边缘添加约束的方法。

这是一个悬而未决的问题:https ://github.com/wellcaffeinated/PhysicsJS/issues/5

于 2014-06-04T18:34:13.703 回答