我特别寻找在世界重力(x和y方向)为0时可用的身体选项。 我的当前身体选项如下:
physics: {
frictionAir: 0,
friction: 0,
frictionStatic: 0,
inertia: Infinity,
restitution: 1,
label: 'circle'+Date.now()+Math.random(),
collisionFilter: {
mask: 0x001
},
},
已尝试过多种组合,包括不断应用 setVelocity 和/或 applyForce 但这些并未如预期般起作用。我本来期望只需一次应用 setVelocity 就能让所有物体永久移动。因此在我的 update
函数中,我会像这样做:
if(!this.setInMotion){
Matter.Body.setVelocity(myBody,
{x: (Math.random() - 0.5) * 2,
y: (Math.random() - 0.5) * 2})
this.setInMotion = true
}
但是物体只是缓慢地移动到盒子的两侧(盒子由静态矩形组成),要么沿着边角滑动停在那里,要么完全停止而不反弹。
设置setAngularVelocity确实会使物体反弹,但每次碰撞后的方向和速度都不是预期的。
感谢您的时间。
Jared