PhysicsJS - ロープを作成し、その最後に何かを添付
-
21-12-2019 - |
質問
質問#1:
私はPhysicsJSに慣れています、そして私は "href="http://wellcaffined.net/physicsjs/#demo-5" rel="nofollownoreferrer">バスケットのverlet constraintsのバスケットのアイデアでロープを作成しようとしました。/ a> "
このようなもの: 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:
それを修正した後、私はどのように私はこれをクートすることができます:
(ロープの終わりに長方形の箱を取り付ける)
解決
ボックスを追加してロープの最後に添付することができます。
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
所属していません StackOverflow