写在前面
matter.js QQ交流群:796728825
constraint意为约束。制造跷跷板有两个关键点,一是设置两块板子不能互相碰撞,二是一个板子要固定,另外一个要可以自由活动,并且中心点固定。
Constraint.create()需要的参数主要有:bodyA,pointA,bodyB,pointB,length,stiffness.
在跷跷板案例中,bodyA和bodyB分别为两个板子,pointA和pointB为两个向量,如果不赋值,则默认为0向量,物体的约束点默认在中心位置,否则,物体的对应的约束点为中心位置加上所赋的向量值。
在此案例中,将生成一个红色的固定板子和一个蓝色的活动板子。
为了设置两块板子呈分离状态,即不能互相碰撞,需要设置collisionFilter:{ group:-1 }
字面上理解为碰撞过滤器,它可以设置哪些物体可以互相碰撞,哪些不能互相碰撞,两个物体的collisionFilter属性的group属性都设为-1,则这两个物体不会发生碰撞。
1.引入Constraint。
Constraint=Matter.Constraint
2.在对应位置生成两个板子。
var rectA=Bodies.rectangle(666,$(window).height()-100,40,200,{
isStatic:true, //静止
render:{
fillStyle:"#f00" //设为红色
},
collisionFilter:{
group:-1
}
});
var rectB=Bodies.rectangle(666,$(window).height()-180,400,40,{