Java SDK的获取
LeapMotion SDK java官方文档:
https://developer-archive.leapmotion.com/documentation/java/index.html
由于官网的JAVA SDK不好寻找,我也是找了半天没有找到,所以直接贴上我在论坛上搜到的SDK文件:
百度云: https://pan.baidu.com/s/1cRiHNpLrTQ4S3Glz2kE89A 提取码: pjrn
csdn: https://download.csdn.net/download/ddaas122/11075016
SDK的使用
得到SDK后解压,进入library文件夹中:
其中LeapJava.jar集成了doc文档中的API,用于添加到项目中。第二个LeapMotionForProcessing.jar是用于Processing的包,现在还用不到。
下面三个文件夹中是不同系统的驱动包,我们是Mac系统,所以选macosx文件夹中的文件,(其他系统也一样的操作)
这两个文件将其复制粘贴到系统的java文件夹中
我的是在/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib(如果不清楚自己的java文件夹在哪可以去开发环境的设置中找buildpath查看地址)
第一个Leapmotion程序
- 将硬件插好,小图标变绿色。
- Eclipse中创建java工程
- 在src文件夹中创建package,名字叫Hello,在Hello Package中创建class文件,勾选public void static main(String[] args)选项
* - 测试可以运行,然后在工程文件夹右击,选择properties
- 点击Add External JARs
- 把刚才的LeapJava.jar导入
- 测试一下
import com.leapmotion.leap.*;
无报错,证明JAR包导入成功
- 写入官方Doc的样例程序
package Hello;
import java.io.IOException;
import com.leapmotion.leap.*;
public class hello {
public static void main(String[] args) {
// TODO Auto-generated method stub
Controller controller = new Controller();
SampleListener listener = new SampleListener();
controller.addListener(listener);
//System.out.println("hello!");
System.out.println("Press Enter to quit...");
try
{
System.in.read();
} catch (IOException e) {
e.printStackTrace();
}
// Remove the sample listener when done
controller.removeListener(listener);
}
}
class SampleListener extends Listener {
public void onConnect(Controller controller) {
System.out.println("Connected");
}
public void onFrame(Controller controller) {
Frame frame = controller.frame();
System.out.println("Frame id: " + frame.id()
+ ", timestamp: " + frame.timestamp()
+ ", hands: " + frame.hands().count()
+",angle"+frame.hand(0).rotationAngle(frame) +""
+ ", fingers: " + frame.fingers().count());
}
}
运行状态:
时刻返回检测到的手的个数和手指个数