Пример #1
2
		private async void StreamSkeleton()
		{
			try
			{
                var reader = new DataReader( Client.InputStream );
                reader.InputStreamOptions = InputStreamOptions.Partial;

                while ( IsConnected ) {
                    await reader.LoadAsync( 4 );
                    var size = reader.ReadUInt32();

                    await reader.LoadAsync( size );
                    byte[] bytes = new byte[size];
                    reader.ReadBytes( bytes );

                    MemoryStream ms = new MemoryStream( bytes );
					BinaryReader br = new BinaryReader(ms);

					SkeletonFrameData frame = br.ReadSkeletonFrame();

					SkeletonFrameReadyEventArgs args = new SkeletonFrameReadyEventArgs { SkeletonFrame = frame };
					SkeletonFrame = frame;

					Context.Send(delegate
					{
						if(SkeletonFrameReady != null)
							SkeletonFrameReady(this, args);
					}, null);
				}
			}
			catch(IOException)
			{
                Disconnect();
			}
		}
Пример #2
0
        private void StreamSkeleton()
        {
            try
            {
                NetworkStream ns = Client.GetStream();
                BinaryReader reader = new BinaryReader(ns);

                while(Client.Connected)
                {
                    int size = reader.ReadInt32();
                    byte[] data = reader.ReadBytes(size);

                    MemoryStream ms = new MemoryStream(data);
                    BinaryReader br = new BinaryReader(ms);

                    SkeletonFrameData frame = br.ReadSkeletonFrame();

                    SkeletonFrameReadyEventArgs args = new SkeletonFrameReadyEventArgs { SkeletonFrame = frame };
                    SkeletonFrame = frame;

                    Context.Send(delegate
                    {
                        if(SkeletonFrameReady != null)
                            SkeletonFrameReady(this, args);
                    }, null);
                }
            }
            catch(IOException)
            {
                Client.Close();
            }
        }
Пример #3
0
		void SkeletonClient_FrameReady(object sender, FrameReadyEventArgs e)
		{
			MemoryStream ms = new MemoryStream(e.Data);
			BinaryReader br = new BinaryReader(ms);

			SkeletonFrameData frame = br.ReadSkeletonFrame();
			
			SkeletonFrameReadyEventArgs args = new SkeletonFrameReadyEventArgs { SkeletonFrame = frame };
			SkeletonFrame = frame;

			if(SkeletonFrameReady != null)
				SkeletonFrameReady(this, args);
		}
Пример #4
0
        void client_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
        {
            Skeleton skeleton = (from s in e.SkeletonFrame.Skeletons
                                 where s.TrackingState == SkeletonTrackingState.Tracked
                                 select s).FirstOrDefault();

            if (skeleton == null)
                return;
            player = skeleton;
        }
Пример #5
0
		void client_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
		{
			Skeleton skeleton = (from s in e.SkeletonFrame.Skeletons
									 where s.TrackingState == SkeletonTrackingState.Tracked
									 select s).FirstOrDefault();

			if(skeleton == null)
				return;

			SetEllipsePosition(headEllipse, skeleton.Joints[(int)JointType.Head]);
			SetEllipsePosition(leftEllipse, skeleton.Joints[(int)JointType.HandLeft]);
			SetEllipsePosition(rightEllipse, skeleton.Joints[(int)JointType.HandRight]);
		}