粒子在mousemove上跟随光标(Javascript-画布)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了粒子在mousemove上跟随光标(Javascript-画布)相关的知识,希望对你有一定的参考价值。

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

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

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

这是我的mousemove函数:

function mouseMove(e) {
        var posx = posy = 0;
        if (e.pageX || e.pageY) {
            posx = e.pageX;
            posy = e.pageY;
        }
        else if (e.clientX || e.clientY)    {
            posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
            posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
        }
        target.x = posx;
        target.y = posy;
    }

我正在尝试创建一个简单的动画,其中某些粒子动画会跟随光标,但是我遇到了麻烦。我创建了一个小提琴来复制该问题:JSFiddle上的示例现在...

答案

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

另一答案

所以您的粒子实际上按照我在中看到的内容跟随了鼠标。但是,它们似乎在您期望的y位置低很多。您需要执行此操作以使其正常工作:

以上是关于粒子在mousemove上跟随光标(Javascript-画布)的主要内容,如果未能解决你的问题,请参考以下文章

纯JS制作跟随鼠标移动的炫彩气泡,光标动画效果ui

打开自己的cnblog 总是cpu 100%

Unity3D粒子系统粒子不跟随旋转

Delphi如何在控件上获取光标位置?

Qt 中的 GLWidget 仅在 mousemove 上更新

在 mousemove 上旋转多组形状