粒子跟随鼠标移动的光标(Javascript-Canvas)

时间:2020-02-10 14:10:42

标签: javascript canvas mousemove

我正在尝试创建一个简单的动画,其中一些粒子动画会跟随光标,但是我遇到了麻烦。

我创建了一个小提琴来复制该问题:Example on JSFiddle

现在我的粒子出现了,但是当您将光标移到该部分上时,它们突然消失了。我知道我的错误来自我的C函数,但是我无法弄清楚它出了什么问题。.

这是我的mousemove函数:

mousemove()

2 个答案:

答案 0 :(得分:1)

您的鼠标坐标X,Y相对于网页的左上角,可能mousemove事件附加到文档而不是画布。将mosemove事件附加到画布上

document.getElementById('services-canvas').addEventListener('mousemove', mouseMove);

并使用基本的偏移量:

target.x = e.offsetX;
target.y = e.offsetY;

如果您希望鼠标位于图形的中心,请使用e.offsetY-something,其中某些东西是图形高度的一半

答案 1 :(得分:0)

因此,从我在中看到的内容来看,您的粒子实际上确实跟随了鼠标。但是,似乎它们在y位置的位置要低得多。您需要执行以下操作才能使其正常工作:

target.y = posy -300;

我已经尝试过了,但所做的改动很小。希望这对:D

有帮助