2012-02-11 12 views
0

私のエラーについては、CS0143、型「Microsoft.Kinect.KinectSensorは」はコンストラクタが、私はこれに似た他の質問を確認したが、彼らが与えた答えを理解していなかったCS0143:Kinectの

を定義していないです。基本的に、私が書いているクラスはkinectSenorの初期化子です。

お手数ですが...ありがとうございます!

public class KinectInitialize 
{ 

    KinectSensor _kinectSensor = new KinectSensor(); 

    #region Constructors 
    public KinectInitialize() 
    { 

    } 
    #endregion 

    #region Methods 
    void SetAllFramesReady(KinectSensor Kinect) 
    { 
     Kinect.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(Kinect_AllFramesReady); 
    } 

    internal void RemoveOldSensor(DependencyPropertyChangedEventArgs e) 
    { 
     _kinectSensor = (KinectSensor)e.OldValue; 
     StopKinect(_kinectSensor); 
    } 

    public KinectSensor CreateNewSensor(DependencyPropertyChangedEventArgs e) 
    { 
     _kinectSensor = (KinectSensor)e.NewValue; 

     return _kinectSensor; 
    } 

    internal void StopKinect(KinectSensor sensor) 
    { 
     if (sensor != null) 
     { 
      sensor.Stop(); 
      sensor.AudioSource.Stop(); 
     } 
    } 
    #endregion 
+0

Kinectセンサー用のパラメータのないコンストラクタがありますか? –

+0

ここに含まれているコードは、それに割り当てられている以外の '_kinectSensor'フィールドでは実際に何もしません。フィールドは必要なのでしょうか? –

+0

M.Babcock - それは良い質問です。私はそれを扱う最良の方法を理解しようとしています。私はセンサーが存在するクラスを1つ設定しようとしていると思うので、そこから操作することができます。それが意味をなさない場合: – JamWils

答えて

2

Kinectクラスにはpublicコンストラクタがありません - あなただけの状態Connectedで最初のものをつかむことができ、そこからパブリック静的コレクションKinectSensorsは、しかしそこにある:

KinectSensor sensor = KinectSensor.KinectSensors 
            .FirstOrDefault(s => s.Status == KinectStatus.Connected); 

私はこれが行われると仮定あなたのマシンに複数のKinectを添付することができるので便利です。

+0

ありがとう、これは私を助けた。 – JamWils