Я смотрю на этот пример: https://codepen.io/chingy/pen/mddyKWZ
Я не могу понять, как не дать частицам, на которые влияет положение мыши, перестать шевелиться? Они в правильном положении, но они продолжают подпрыгивать. Я хочу, чтобы они двигались только тогда, когда им нужно двигаться.
Я полагаю, что проблема заключается в этой части, где расстояние рассчитывается на основе положения частицы, и это положение частицы все время меняется, потому что оно пытается go вернуться в свое начальное положение?
repulseTo(x, y) {
let distance = this.getDistanceTo(x, y),
repulseAngle = Math.atan2(distance.y, distance.x),
repulseForce = (-1 * Math.pow(mousePower, 2)) / distance.dist;
this.dX += Math.cos(repulseAngle) * repulseForce;
this.dY += Math.sin(repulseAngle) * repulseForce;
}
springTo() {
this.dX += (this.spring.x - this.x) * particleStiffness;
this.dY += (this.spring.y - this.y) * particleStiffness;
}
update() {
this.springTo();
this.dX *= particleFriction;
this.dY *= particleFriction;
this.x += this.dX;
this.y += this.dY;
}