用于KeyTapGesture的手指在跳跃运动中

时间:2015-03-13 02:05:10

标签: gesture leap-motion keytab

我想创建一个与特定手指对应的打字字符的应用程序。我试过用finger.isExtended来感觉哪个手指是“笔划”或弯曲,但手指的移动应该是最大的,使用这个功能来检测。

我会尝试使用KeyTapGesture的另一个功能,但我不知道这个功能是否可以区分手指或已知哪个手指可以轻敲。

有谁知道如何确定水龙头的特定手指?

我添加了pointable(),这是我的C#代码:

case Gesture.GestureType.TYPE_KEY_TAP:
        KeyTapGesture keytap = new KeyTapGesture (gesture);
        controller.Config.SetFloat("Gesture.KeyTap.MinDownVelocity", 40.0f);
        controller.Config.SetFloat("Gesture.KeyTap.HistorySeconds", .2f);
        controller.Config.SetFloat("Gesture.KeyTap.MinDistance", 1.0f);
        controller.Config.Save();
        HandList handsForGesture = gesture.Hands;
        Hand rightHand = handsForGesture[0];
        Pointable tappingPointable = keytap.Pointable;
        PointableList pointablesForGesture = rightHand.Pointables;

        int exFingers = 0;
        for (int f = 0; f < rightHand.Pointables.Count; f++)
            {
              Pointable digit = rightHand.Pointables[f];
              if (digit.IsValid)
                {
                    exFingers++;
                    SafeWriteLine("Finger: " + f);
                  }
              }
    break;

结果是即使我只用一根手指,所有的手指都会敲击。

1 个答案:

答案 0 :(得分:0)

KeyTap手势对象具有pointable()属性用于此目的。 (在JavaScript中使用pointableIds。)