Как я могу остановить колебания частиц? - PullRequest
0 голосов
/ 28 апреля 2020

Я смотрю на этот пример: 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;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...