Я создаю пользовательские элементы управления и пытаюсь кодировать элементы управления для мыши. Это то, что я придумал, чтобы получить пользовательский ввод.
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 или шутер от первого лица. Я просто хочу, чтобы пользователь мог бесконечно перемещать мышь в одном направлении.