创建一个Controller对象,来连接设备,这个对象自动的建立与LM后台进程或服务的连接,后台进程随后在Frame对象中可以用来传递追踪数据。
Leap::Contriller controller;
使用controller对象来获取连接状态和连接硬件的情况,以及应用的参数设置情况。
Getting Frames
获得Frame 对象包括通过controller.frame()函数来追踪数据。当APP准备处理数据来得到设备产生的最新数据集时,你可以调用这个函数。你可以实现Listener对象定义一个回调函数,并且当新的数据帧准备就时,Controller会唤醒这个函数。
Foreground and background APPlications
通常情况下,只有应用在当前系统中获得焦点时,LM服务才向其传递数据。这种特性能够防止应用在不获得焦点的空载时,获得其他应用的输入数据的情况。
获得图像
为了从相机获得图像,必须设置图像性质,控制面板中的allow Imags选项,需要选中。
启动手势
为了使用内置的手势(built-in gestures),首先需要使用 controller。enableGesture();
只需要开启,应用中需要的手势。连接状态
当你创造一个控制器,对象将建立与LM服务的连接,controller.isserviceConneceted属性变成true.同样的,如果LM硬件接入并被服务检测到时,controller.isConnected()属性变为真。
控制器事件监听器
控制器对象使用监听机制监听一些事件。为了处理这些事件,你能够拓展Listener类实现回调函数。当事件发生时,控制器唤醒相关的回调函数。
事件包括:
onConnect() | The Controller连接了服务和LM设备 |
onDeviceChange() | LM硬件状态发生改变 |
onDisconnect() | The Controller 服务和LM设备失去连接 |
onExit() | The Controller 对象被销毁 |
onFocusGained() | 应用获取焦点,并开始接受数据 |
onFocusLost() | 应用失去焦点,停止接受数据theBACKGROUND_FRAMES_POLICY. |
onFrame() | 新的数据帧已经准备就绪 |
onInit() | The Controller对象被初始化 |
onServiceConnect() | The Controller连接到服务 |
onServiceDisconnect() |