Sto creando un'applicazione utilizzando l'SDK, in cui devo avere un solo utente e bloccarlo in modo che se qualcuno arriva, anche se quella persona è più vicina a Kinect, l'applicazione mantiene rintracciare il primo scheletro tracciato.Come bloccare una singola scheletro
Dal MSDN Library ho scoperto che potevo usare lo Stream Class Skeletom:
Proprietà: AppChoosesSkeletons = Ottiene o imposta un valore booleano che determina se l'applicazione sceglie quali scheletri per tenere traccia.
Metodo: SkeletonStream.ChooseSkeletons (Int32) = Scegli uno scheletro da tracciare. Sintassi: public selectKeysons (int trackingId1)
Non sono molto bravo in programmazione e sto usando C#, ho pensato di scrivere qualcosa come il codice in basso, ma dice che sto usando un'espressione non valida .
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...
Il problema è con l'sensor.SkeletonStream.ChooseSkeletons(int firstSkeleton
, si dice int firstSkeleton cannot be used
.
Qualcuno potrebbe aiutarmi? Grazie!
ti prego, dimmi, dove e quando si ottiene questo errore. – Likurg
@Likurg L'ho scritto in un modo diverso non so se funzionerà o se è il modo migliore 'Skeleton closestSkeleton = (da s in Scheletri dove s.TrackingState == SkeletonTrackingState.Tracked && s.Joints [JointType.Head ] .TrackingState == JointTrackingState.Tracked select s) .OrderBy (s => s.TrackingId) .FirstOrDefault(); 'Dal codice che ho postato in precedenza, il problema era con' sensor.SkeletonStream.ChooseSkeletons (int firstSkeleton); ' ha detto che int firstSkeleton non poteva essere usato. Penso che la mia logica non sia giusta, manca qualcosa ma non sono sicuro di come farlo. Grazie per la risposta – Paola
Hai provato a utilizzare Skeletons 'TrackingID'? Forse presti attenzione solo al primo? –