在Kinect的手指针

时间:2013-06-18 18:28:07

标签: c# kinect kinect-sdk

有人知道如何使用Kinect SDK 1.7的HandPointer类吗?

我一直在尝试制作班级hand的对象HandPointer,并在手牌 Gripped 时向控制台打印消息但未成功。我无法创建hand对象。

以下是HandPointer classHandPointer members的MSDN链接。

以下是示例代码段:

//First I make the HandPointer object:

HandPointer hand;

//then later I check :

if (hand.IsInGripInteraction)
  Console.WriteLine("The hand is gripped");

错误是我运行代码时HandPointer对象handnull。 是否有需要运行的初始化?

1 个答案:

答案 0 :(得分:2)

在C#中,所有类都是引用类型。引用类型变量默认为null,因此您通常需要使用new关键字创建类的实例并分配它:

List<string> names; // starts off as null

// the following line would cause a null reference exception
// names.Add("names");

names = new List<string>(); // create an instance

// now you can safely work with it
names.Add("names");

// of course, you can also initialize when you declare
List<string> names2 = new List<string>();

names2.Add("names2");

但是,基于您链接的文档,HandPointer类没有任何公共构造函数,因此您无法执行此操作。它本质上是一个抽象类。在这种情况下,您似乎需要创建KinectRegion class的实例并访问其HandPointers property

对Kinect编程一点也不熟悉,我无法提供有关设置KinectRegion的任何建议;您需要参考SDK附带的C# samples。最适合您的两个是Controls Basics WPF-C# SampleInteractionGallery-WPF C# Sample