我正在使用Leap Motion进行处理,使用Leap Motion for Processing库。 (Leap Motion for Processing Lib)
然而,我正在努力寻找使用scaleFactor的方法,如Java Leap Motion文档中所示。 (Java Api Docs)
我想访问此功能,以便在将手移开彼此时在我的应用程序中创建缩放功能。
非常感谢任何帮助!
答案 0 :(得分:0)
我快速浏览了您正在使用的处理库,看起来它没有显示Leap Motion Frame类的比例因子或其他运动属性(这是您获得比例因子的地方)用于双手动作)。这不是由Leap Motion创建或维护的库。我怀疑您的选择是直接使用Leap Motion Java库还是将功能添加到您正在使用的处理库中。
看起来您将添加您尝试在LeapMotion.java中使用的功能 - 但您应该与创建该库的开发人员讨论此问题。
答案 1 :(得分:0)
我以替代库的形式找到了这个问题的解决方案。这意味着我将不得不重新编码我已创建的手势,因为库的工作方式不同,但我现在可以访问我之前缺少的Frame类。
这是我现在使用的图书馆...... https://github.com/heuermh/leap-motion-processing
下面是一段简单的代码片段,显示了scaleFactor的工作情况......
import com.leapmotion.leap.Controller;
import com.leapmotion.leap.Frame;
import com.leapmotion.leap.processing.LeapMotion;
LeapMotion leapMotion;
float zoomFactor = 0;
void setup()
{
size(16 * 50, 9 * 50);
background(20);
frameRate(30);
leapMotion = new LeapMotion(this);
}
void draw()
{
fill(20);
rect(0, 0, width, height);
fill(200);
rect(0, 0, (zoomFactor * 100), (zoomFactor * 100));
}
void onFrame(final Controller controller)
{
Frame frame = controller.frame();
Frame sinceFrame = controller.frame(25);
zoomFactor = frame.scaleFactor(sinceFrame);
println(zoomFactor);
}