Estoy creando una aplicación usando el SDK, en el que debo tener un solo usuario y bloquearlo, así que si alguien más aparece, incluso si esa persona está más cerca de Kinect, la aplicación mantiene rastreando el primer esqueleto que rastreó.Cómo bloquear un solo esqueleto
Desde la biblioteca MSDN descubrí que podía utilizar la Corriente Clase Skeletom:
propiedad: AppChoosesSkeletons = Obtiene o establece un valor booleano que determina si la aplicación elige qué esqueletos para el seguimiento.
Método: SkeletonStream.ChooseSkeletons (Int32) = Elige un esqueleto para rastrear. Sintaxis: public void ChooseSkeletons (int trackingId1)
No soy muy bueno en la programación y estoy usando C#, pensé en escribir algo así como el código, pero dice que estoy usando una expresión no válida .
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...
El problema es con el sensor.SkeletonStream.ChooseSkeletons(int firstSkeleton
, que dice int firstSkeleton cannot be used
.
¿Podría alguien ayudarme? ¡Gracias!
Por favor, dime, dónde y cuando llegue ese error. – Likurg
@Likurg Lo escribí de otra manera, no estoy seguro de si funcionará o si es la mejor manera 'Esqueleto más cercanoSkeleton = (de s en Skeletons donde s.TrackingState == SkeletonTrackingState.Tracked && s.Joints [JointType.Head ] .TrackingState == JointTrackingState.Tracked select s) .OrderBy (s => s.TrackingId) .FirstOrDefault(); 'Del código que publiqué antes, el problema fue con' sensor.SkeletonStream.ChooseSkeletons (int firstSkeleton); ' decía que int firstSkeleton no podía ser usado. Creo que mi lógica no es del todo correcta, me falta algo, pero no estoy seguro de cómo hacerlo. Gracias por tu respuesta – Paola
¿Has probado con Skeletons 'TrackingID'? Tal vez solo prestar atención a la primera? –