0

我在玩 kinect,我想控制绘制人体的每个部分。我制作了一个组合框,例如:

  • 看不见的左臂,
  • 看不见的右臂,...

我已经将它与drawbone方法及其工作联系起来。现在,我尝试过滤位于不可见骨骼上的关节以使它们也不可见,我有这样的代码:

             foreach (Joint joint in skeleton.Joints)
         {
             Brush drawBrush= null;


             if (joint.TrackingState == JointTrackingState.Tracked)
             {
                 drawBrush = Brushes.Black;
             }
             else if (joint.TrackingState == JointTrackingState.Inferred){
             drawBrush = new SolidColorBrush(Color.Blue);
             }
             if (drawBrush != null)
             {
                 drawingContext.DrawEllipse(drawBrush, null,       this.SkeletonPoint(joint.Position), 20, 20);
             }
         }

我已经尝试过职位

if (joint.Position == JointType.ShoulderLeft) { return; }

但错误

我试图以某种方式比较它,但我得到了错误,因为我表现得像个盲童:/

thx 任何建议

4

1 回答 1

1

您正在将 Position 与没有意义的 JointType 进行比较。尝试这样做:

if (joint.JointType == JointType.ShoulderLeft)

请记住,位置是指关节的空间位置,如此处所述

whereas the JointType refers to the "anatomical name" of the tracked joint as said here

于 2013-07-19T09:52:21.687 回答