update() { this.x += this.directionX; if(this.x > canvas.width + this.radius) { this.x = -this.radius; } this.render(); } 基本的なパーティクルでは、上記のように「丸の位置を少しずつ動かす」という処理をしています。 今回は、ここのupdateの処理の中で計算をします。 マウスの位置取得 まず、マウスの位置を取得する必要があります。そのためにmousemoveイベントを登録し、マウスカーソルの位置を変数に入れておくようにします。 const mouse = { x: null, y: null } window.addEventListener('mousemove', (event) => { mouse.x = event.x; mouse.y = event.y; }