0

我正在制作跳跃运动应用程序。

我可以检测到手指何时出现在传感器中,但我无法检测到所有手指何时消失。

有什么方法可以告诉所有手指消失的那一刻,就像鼠标的 mouseout 事件一样?

4

1 回答 1

1

当指针对象(手指或工具)消失时,没有任何事件,但要处理此问题,您可以保留前一帧或有关前一帧的信息,并检查手指是否在设备区域中。

var lastNbFingers = 0;

// Setup Leap loop with frame callback function
var controllerOptions = {enableGestures: true};
Leap.loop(controllerOptions, function(frame)
{
  var nbFingers = 0; // Cpt for all fingers from all hands in the current frame
  var fingerRemoved = false; // are all the fingers just removed from device area ?

  // how many fingers in our scene
  for (var h = 0; h < frame.hands.length; ++h)
  {
    var hand = frame.hands[h];
    nbFingers += hand.fingers.length;
  }

  if (nbFingers > 0)   // there are fingers
    lastNbFingers = nbFingers;
  else if (lastNbFingers > 0)  // there is no finger on current frame, but some on previous frame
    {
      lastNbFingers = 0;
      fingerRemoved = true;   
    }
   if (fingerRemoved)
      // do some stuff

});
于 2013-08-07T12:08:14.277 回答