我正在使用 SDK 创建一个应用程序,其中我必须只有一个用户并将其锁定,因此如果其他人出现,即使该人更接近 Kinect,应用程序也会继续跟踪它跟踪的第一个骨架。
从 msdn 库中,我发现我可以使用 Skeletom Stream 类:
属性:AppChoosesSkeletons = 获取或设置一个布尔值,该值确定应用程序是否选择要跟踪的骨架。
方法:SkeletonStream.ChooseSkeletons (Int32) = 选择一个要跟踪的骨架。语法:public void ChooseSkeletons (int trackingId1)
我不太擅长编程,而且我使用的是 C#,我想写下类似代码的东西,但它说我使用的是无效表达式。
SkeletonFrame SFrame = e.OpenSkeletonFrame();
if (SFrame == null) return;
Skeleton[] Skeletons = new Skeleton[SFrame.SkeletonArrayLength];
SFrame.CopySkeletonDataTo(Skeletons);
int firstSkeleton = Skeletons[0].TrackingId;
sensor.SkeletonStream.ChooseSkeletons(int firstSkeleton);
if (firstSkeleton == null)
return;
if (SkeletonTrackingState.Tracked == firstSkeleton.TrackingState)
{
//body...
问题在于sensor.SkeletonStream.ChooseSkeletons(int firstSkeleton
,它说int firstSkeleton cannot be used
。
有人可以帮我吗?谢谢!