在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