LeapMotion Java环境搭建及开始(Mac环境)

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文件夹中:
LeapMotion Java环境搭建及开始(Mac环境)_第1张图片
其中LeapJava.jar集成了doc文档中的API,用于添加到项目中。第二个LeapMotionForProcessing.jar是用于Processing的包,现在还用不到。
下面三个文件夹中是不同系统的驱动包,我们是Mac系统,所以选macosx文件夹中的文件,(其他系统也一样的操作)
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)选项
    *LeapMotion Java环境搭建及开始(Mac环境)_第2张图片
  • 测试可以运行,然后在工程文件夹右击,选择propertiesLeapMotion Java环境搭建及开始(Mac环境)_第3张图片
  • 点击Add External JARsLeapMotion Java环境搭建及开始(Mac环境)_第4张图片
  • 把刚才的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());
    }
}

运行状态:
时刻返回检测到的手的个数和手指个数

你可能感兴趣的:(技术)