@Override
public void onFrame(Controller arg0) {
Frame frame = arg0.frame();
for (int i = 0; i < frame.gestures().count(); i++) {
Gesture gesture = frame.gesture(i);
if (gesture.type() != Type.TYPE_INVALID)
System.out.println(gesture.type().toString());
}
}
我在控制台中没有收到任何消息。 如果我删除,如果,我会得到很多无效的滑动。 我尝试过很多类型的滑动,但似乎没什么用。 我试过的滑动示例: https://www.youtube.com/watch?v=dj1q8Bjn-uk
答案 0 :(得分:1)
函数frame.gesture(id)
在帧的手势列表中搜索具有指定id的手势对象,即,以便您可以跨帧跟踪特定手势。如果找不到,则该函数返回无效帧。将代码更改为使用frame.gestures()
,它会为您提供手势列表:
@Override
public void onFrame(Controller arg0) {
Frame frame = arg0.frame();
for (int i = 0; i < frame.gestures().count(); i++) {
Gesture gesture = frame.gestures().get(i);
if (gesture.type() != Type.TYPE_INVALID)
System.out.println(gesture.type().toString());
}
}
你不应该在gestures()函数提供的列表中得到无效的手势,所以在这种情况下你真的不需要检查。