我一直在用physics.js 中的吸引子进行实验,在零重力下装配一个简单的物体,在一个点上有一个吸引子。这会产生一个很棒的小“重力井”,如图所示。
简单的方形矢量吸引到点 处'x':200,'y':200
,然后围绕它运行。我正在寻找一种方法将这个吸引子变成更多的重力井,以便吸引到它的物体随着时间的推移减慢并最终在吸引子的点处静止不动,直到它与它发生碰撞或被拖动再次鼠标。这是一种可能吗?
目前该对象是通过以下方式创建的:
var bodies = [Physics.body('convex-polygon', {
// place the center of the square at (0, 0)
x: 150,
treatment : 'dynamic',
cof: 0.01,
mass : 1,
y: 100,
vertices: [
{ x: 0, y: 0 },
{ x: 0, y: 200 },
{ x: 200, y: 200 },
{ x: 200, y: 0 }
]
})];
吸引子是这样创建的:
var attractor = Physics.behavior('attractor', {
order: 0,
strength: 0.0005
}).applyTo(bodies);
attractor.position({'x':200,'y':200});
影响吸引子的强度似乎无济于事,它只会改变吸引子的速度和随后的轨道。
实际上,我正在寻找一种方法来增加整个空间的摩擦力,我认为这可以自然地减慢物体的速度,使其最终在吸引点处静止。不知道如何使用 PhysicsJS 来解决这个问题。