编程语言
首页 > 编程语言> > 在JavaScript中检测鼠标移动距离的好技术是什么?

在JavaScript中检测鼠标移动距离的好技术是什么?

作者:互联网

我正在设计用户控件,并试图为鼠标编码.这就是我想出的获得用户输入的方法.

var mouseInput = new GLGE.MouseInput(window);
window.onmousemove = function(ev){
        var dx = window.mouseX - prevMousePos.x;
        var dy = window.mouseY - prevMousePos.y;
        prevMousePos ={
        x:window.mouseX,
        y:window.mouseY
     };
    // I do movement calculations with dx and dy here 
}

但是,我上面提出的内容并不完美,因为如果鼠标到达窗口的末端,它将无法检测到移动.

有没有更好的检测鼠标移动的方法?我宁愿不使用它的坐标来计算它,因为使用该方法,我无法计算鼠标在屏幕边缘时的移动距离.

PS:如果有人想知道的话,我正在设计的就像Google Streetview或第一人称射击游戏.我只希望用户能够在一个方向上无限移动鼠标.

解决方法:

我的意思是,您已经在使用onmuseover事件处理程序(最有效的方法,因为Javascript是异步的).因此,仅当用户移动鼠标时,您才需要计算与上一个对象的距离.如果他不进一步移动鼠标,则玩家只会沿着先前计算出的相同方向前进.

标签:mouseevent,javascript
来源: https://codeday.me/bug/20191208/2087713.html