Javascript 如何使用kinect(js)将鼠标事件更改为手部运动

Javascript 如何使用kinect(js)将鼠标事件更改为手部运动,javascript,node.js,mouse,kinect,gesture,Javascript,Node.js,Mouse,Kinect,Gesture,我让Kinect通过一个electron应用程序和nodejs工作,所以我可以使用Javascript,因为这是我熟悉的。然而,当我试图对手势进行编码时,我很难理解如何写出它。通常我会使用鼠标事件,但没有鼠标,而是手势。所以我有点困惑。例如,我将如何切换 function onMouseMove(event) { mouseVector = view.center - event.point; return false; } 意思

我让Kinect通过一个electron应用程序和nodejs工作,所以我可以使用Javascript,因为这是我熟悉的。然而,当我试图对手势进行编码时,我很难理解如何写出它。通常我会使用鼠标事件,但没有鼠标,而是手势。所以我有点困惑。例如,我将如何切换

        function onMouseMove(event) {
        mouseVector = view.center - event.point;
        return false;
        }
意思是当手移动而不是移动时

我确实有下面的刷卡代码,但它也超级敏感,我不知道为什么

    let xMoveList = [];
    let oldX = 0;
    let distance = 0;
    let sensitivity = 100; // how sensitive to movement is it
    let $dialog = document.querySelector(".dialog");

    
    let rightHandPosition = body.joints[11].depthX;

    let torsoPosition = body.joints[1].depthX;

    let rightHandRelativePosition = rightHandPosition - torsoPosition;

    var oldspeed = rightHandRelativePosition;
    var rightHandRelativeSpeed = rightHandRelativePosition - oldspeed;

    x = rightHandPosition - torsoPosition;

    if (xMoveList.length > 2) {
      oldX = xMoveList[xMoveList.length - 2];
    }
    distance = x - oldX;
    xMoveList.push(x);
    console.log(xMoveList);
    if (oldX > x) {
      console.log("left");
    } else {
      console.log("right");
    }

    //swipe right
    if (distance > sensitivity) {
      console.warn("swiped right");
      $dialog.innerHTML = "swiped right";
      document.getElementById("body").style.backgroundColor = "orange";
    }

    //swipe left 
    if (distance < -sensitivity) {
      console.warn("swiped left");
      $dialog.innerHTML = "swiped left";
      document.getElementById("body").style.backgroundColor = "blue";
    }

    if (xMoveList.length > 5) {
      xMoveList.shift();
    }
    index++;
让xMoveList=[];
设oldX=0;
设距离=0;
let灵敏度=100;//它对运动有多敏感
让$dialog=document.querySelector(“.dialog”);
设rightHandPosition=body.joints[11]。depthX;
让torsoPosition=body.joints[1].depthX;
设rightHandRelativePosition=rightHandPosition-TorsPosition;
var oldspeed=右手相对位置;
var rightHandRelativeSpeed=rightHandRelativePosition-oldspeed;
x=右手位置-扭转位置;
如果(xMoveList.length>2){
oldX=xMoveList[xMoveList.length-2];
}
距离=x-oldX;
xMoveList.push(x);
console.log(xMoveList);
如果(oldX>x){
控制台日志(“左”);
}否则{
控制台日志(“右”);
}
//向右滑动
if(距离>灵敏度){
控制台。警告(“向右滑动”);
$dialog.innerHTML=“向右滑动”;
document.getElementById(“body”).style.backgroundColor=“橙色”;
}
//左击
if(距离<-灵敏度){
控制台。警告(“向左滑动”);
$dialog.innerHTML=“向左滑动”;
document.getElementById(“body”).style.backgroundColor=“蓝色”;
}
如果(xMoveList.length>5){
xMoveList.shift();
}
索引++;