微动博客 >> 示例程序 >> C++ >> 手指悬停计数

手指悬停计数

Vidoo 2015-10-26
浏览次数64

微动设备可以识别手指对象,并对手指对象停在空中的时间进行计时,我们通过程序可以获取这一时间并将它记录下来。
手指悬停计数这个功能可以在开发微动程序时起到很大的作用,例如我们可以使用适当时间的悬停来初始化手掌和手指对象,记录为初始化位置;我们也可以将手指悬停定义为选择对象的方式;更多的使用方法用户也可以自己进行探索。下面我们提供了实现这一功能的关键代码,使用它们,用户可以轻松的使用悬停计数的功能。
首先需要定义帧、手指对象使用到的示例代码如下:

const sharpnow::Frame* frame = sdk.GetFrameInfo();
const sharpnow::Finger* finger;

为了直观的在屏幕上看到悬停计数的效果,我们用两个手指分别控制两个圆形标签,标签随着手指的移动而移动自己的位置,同时手指停止移动时,在标签上显示悬停的时间,手指一旦重新开始移动,计数归零。

sdk.RetrieveFrame(0);//确认收到数据帧,进行相关操作
frame = sdk.GetFrameInfo();//给frame赋值,以便于进行下一步对手指属性的获取
//以下是给手指对象赋值的方法
finger  = sdk.GetFinger(frame->finger_stretched,0);

确认获得了我们需要的数据后就可以进行编程了

stop=finger->stop; //int对象stop用来接收每帧传来的stop属性
object->Location=Point(finger->cursor.x*::GetSystemMetrics(SM_CXSCREEN),finger->cursor.y*::GetSystemMetrics(SM_CYSCREEN)); // object是需要进行移动位置的对象
s1 = stop.Int32::ToString() ; //为了将数据显示在控件上,将int类型的数据转化为string
object->Text= s1;
上篇文章:
下篇文章: