我正在制作跳跃运动应用程序。
我可以检测到手指何时出现在传感器中,但我无法检测到所有手指何时消失。
有什么方法可以告诉所有手指消失的那一刻,就像鼠标的 mouseout 事件一样?
当指针对象(手指或工具)消失时,没有任何事件,但要处理此问题,您可以保留前一帧或有关前一帧的信息,并检查手指是否在设备区域中。
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
});