示例#1
0
        private void OnFrameReady(object sender, SkeletonFrameReadyEventArgs e)
        {
            string status = "";

            try
            {
                status += "Skeletons: " + e.SkeletonFrame.Skeletons.Count() + "\n";
                IEnumerable <SkeletonData> tracked = e.SkeletonFrame.Skeletons.Where(s => s.TrackingState == SkeletonTrackingState.Tracked);
                SkeletonData skeleton = tracked.FirstOrDefault();
                if (skeleton == null)
                {
                    return;
                }
                status += "Has tracked skeleton\n";
                Body currentBody = Body.FromSkeleton(skeleton);
                SmoothenBody(currentBody);
                DrawPositions(_smoothBody);
                foreach (IGesture gesture in _gestures)
                {
                    gesture.ProcessBodyFrame(_smoothBody);
                }
            }
            finally
            {
                UpdateStatus(status);
            }
        }