2016-04-25 9 views
-1
private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e) 
     { 
      Skeleton[] skeletons = new Skeleton[0]; 

      using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame()) 
      { 
       if (skeletonFrame != null) 
       { 
        skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength]; 
        skeletonFrame.CopySkeletonDataTo(skeletons); 
       } 
       if (skeletons.Length != 0) 
       { 
        foreach (Skeleton skel in skeletons) 
        { 
         if (skel.TrackingState == SkeletonTrackingState.Tracked) 
         { 
          this.tracked(skel); 
          this.trackedLeft(skel); 
         } 
        } 
       } 
      } 
     } 

私は"SkeletonArrayLength""SkeletonTrackingState"をどこにでも見つけることができません。問題は参考になっていますか、これをコーディングする必要がありますか?Windowsフォームの参照の呼び出し/検索方法は?

+0

SkeletonFrameにはSkeletonArrayLengthという名前のプロパティはなく、SkeletonTrackingStateは参照されません。あなたのクラスに正しい 'using'ステートメントをすべて追加していることを確認してください。 –

+0

「using」ステートメントが必要なアイデアか、コードを完全に変更する必要がありますか? – Rusydi

答えて

0

..

SkeletonFrameクラス "SkeletonArrayLength" と呼ばれる性質を持っていませんように。

SkeletonFrameクラスのソースコードを見ることができる場合、それは次のようになります。..

public class SkeletonFrame 
{ 
    ... 
    // other fields/properties 
    public int SkeletonArrayLength { get; set; } 
    // methods 
} 

とSkeletonTrackingStateのために、「Visual Studioの上のエラーでコードをクリックして、+ Ctrlキーを押してください。キー

"add xxx"の提案がない場合は、SkeletonTrackingStateクラスまたはenumがどこにあるのかを知る方法がありません(これは、コードの特定の行でできることのメニューを表示するためのショートカットです) 。

+0

これはソースコードに追加する必要がありますか、それともそこにあると思われますか?追加する必要がある場合、どうすればそこに着くことができますか? – Rusydi

+0

作成者でない場合は、ソースコードを変更しないでください。私はavaneeshのリンクをチェックしており、アクセスしようとしているクラスに合っているようです。 Microsoft.Kinectへの参照を追加してみてください。また、投稿したコードが、変更したいチュートリアルや既存のプロジェクトのものであるかどうかなどの質問をするときに、シナリオを記述するのが最善です。 –

+0

私は(microsoft.kinect.dll)を追加しました。まだ何も解決されていません。 – Rusydi

関連する問題