0

我想制作一个应用程序来输入与特定手指对应的字符。我已经尝试使用 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;

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

4

1 回答 1

0

为此,KeyTap 手势对象有一个pointable()属性。(在 JavaScript 中使用pointableIds。)

于 2015-03-13T21:06:14.267 回答