Physicsjs - Créer une corde et attacher quelque chose à la fin de celui-ci
-
21-12-2019 - |
Question
Je suis nouveau à Physicsjs et j'ai essayé de créer une corde avec une idée de " panier de contraintes de verlettes "
Quelque chose comme ceci: Jsfiddle
Comme vous le voyez, cette corde n'agit pas naturel!(Friction, Wight de corde, Temps de stabilité et ...)
Et en augmentant la longueur de la corde, ça a empiré!
D'abord, je pense que, en augmentant la masse de particules de cordes, il ralentira plus vite mais ...
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 );
}
Après avoir fixé cela, comment puis-je citer ceci:
(Fixation d'une boîte rectangulaire à la fin de la corde)
La solution
Vous pouvez ajouter une boîte et la fixer à la fin de la corde:
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);
qui donne quelque chose comme ceci: http://jsfiddle.net/regcu/14/ Mais malheureusement, à ce moment-là, il n'y a pas encore de moyen de gérer l'ajout de contraintes au bord de la boîte que vous avez dessinée.
C'est un problème exceptionnel: https://github.com/wellcafféiné/physicsjs/issues/5