用于处理scaleFactor函数的Leap Motion

时间:2014-09-29 13:56:25

标签: java processing leap-motion

我正在使用Leap Motion进行处理,使用Leap Motion for Processing库。 (Leap Motion for Processing Lib

然而,我正在努力寻找使用scaleFactor的方法,如Java Leap Motion文档中所示。 (Java Api Docs

我想访问此功能,以便在将手移开彼此时在我的应用程序中创建缩放功能。

非常感谢任何帮助!

2 个答案:

答案 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);
}