定义一个结构
class MyPoint
{
public:
float fx;
float fy;
USHORT depth;
};
然后将骨骼各节点信息保存起来:(其实这里只用到了左右手的节点信息)
for (i = 0; i < NUI_SKELETON_POSITION_COUNT; i++)
{
// Add new position to the history buffer
m_History[i].push_front(point);
// Keep size of history buffer
if (m_History[i].size() > m_nThreshold)
m_History[i].pop_back();
}
从保存的数据中取出信息,控制鼠标:
void CKinect::HandleMouseMoveAndClick( )
{
if( m_History[NUI_SKELETON_POSITION_HAND_RIGHT].size( ) >= m_nThreshold )
{
// 新点;
MyPoint newPoint;
newPoint.fx = m_History[NUI_SKELETON_POSITION_HAND_RIGHT].front().fx;
newPoint.fy = m_History[NUI_SKELETON_POSITION_HAND_RIGHT].front().fy;
class MyPoint
{
public:
float fx;
float fy;
USHORT depth;
};
然后将骨骼各节点信息保存起来:(其实这里只用到了左右手的节点信息)
for (i = 0; i < NUI_SKELETON_POSITION_COUNT; i++)
{
// Add new position to the history buffer
m_History[i].push_front(point);
// Keep size of history buffer
if (m_History[i].size() > m_nThreshold)
m_History[i].pop_back();
}
从保存的数据中取出信息,控制鼠标:
void CKinect::HandleMouseMoveAndClick( )
{
if( m_History[NUI_SKELETON_POSITION_HAND_RIGHT].size( ) >= m_nThreshold )
{
// 新点;
MyPoint newPoint;
newPoint.fx = m_History[NUI_SKELETON_POSITION_HAND_RIGHT].front().fx;
newPoint.fy = m_History[NUI_SKELETON_POSITION_HAND_RIGHT].front().fy;