私はKinectToolboxを使用しているので、リストをReplaySkeletonFrames
手にしています。私はこのリストを繰り返し、最初に追跡されたスケルトンを取得し、いくつかのプロパティを変更しています。
ご存知のように、オブジェクトを変更すると、元のオブジェクトも変更されます。
スケルトンのコピーを作成する必要があります。
注:CopySkeletonDataTo()
私のフレームは「通常の」KinectではReplaySkeletonFrame
なく、であるため、使用できません。ReplayFrame
プロパティをプロパティごとにコピーする独自のメソッドを作成しようとしましたが、一部のプロパティをコピーできませんでした。見る...
public static Skeleton Clone(this Skeleton actualSkeleton)
{
if (actualSkeleton != null)
{
Skeleton newOne = new Skeleton();
// doesn't work - The property or indexer 'Microsoft.Kinect.SkeletonJoints'
// cannot be used in this context because the set accessor is inaccessible
newOne.Joints = actualSkeleton.Joints;
// doesn't work - The property or indexer 'Microsoft.Kinect.SkeletonJoints'
// cannot be used in this context because the set accessor is inaccessible
JointCollection jc = new JointCollection();
jc = actualSkeleton.Joints;
newOne.Joints = jc;
//...
}
return newOne;
}
それを解決する方法は?