kinect体感切水果

时间:2022-11-01 04:19:34

  今天为了玩一下水果忍者就一狠心拿出70M流量下了一个,昨天找到了一个代码不知道能不能用,现在的我对kinect方面还是个小白,也只有先找大神的程序看看先。把水果忍者装好后,然后进VS2013把昨天的代码编译出来,然后测试了下,竟然还可以玩的很开心,对代码的编写者顿时心生崇拜了。

  玩了后分析了下这些代码,原来是通过手来模拟鼠标,不过只能在游戏里面测试,退了游戏,用这段程序来控制桌面还是比较吃力。

   今天自己也写了一下kinect的代码,但是没办法的是我用的编译环境是vs2013,不是教程里面的2010,用起来还是有差别,也有以前没用过的VS的原因吧。在学kinect的同时还得学会用vs(真心感觉学校太拖节了,还用VC6.0教学,不得不吐槽一下)。这里的代码和书上的教程差不多,但是我的运行起来还是有问题

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Kinect;



namespace HellpKnectMatrx
{
    class Program
    {
     
        static void Main(string[] args)
        {
            if (KinectSensor.KinectSensors.Count > 0)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Welcome to  Kinect!!");

                KinectSensor _Kinect = KinectSensor.KinectSensors[0];
                _Kinect.DepthStream.Enable();
                _Kinect.DepthFrameReady += new EventHandler<DepthImageFrameReadyEventArgs>(_Kinect_DepthFrameReady);
                _Kinect.Start();
                while (Console.ReadKey().Key != ConsoleKey.Enter)
                {

                }
                _Kinect.Stop();
                Console.WriteLine("Exit the Kinect Matrix...");
            }
            else 
            {
                Console.WriteLine("Please check the kinect connect"); 
            }

        }
  

    }
    static  void _Kinect_DepthFrameReady(object sender, DepthImageFrameReadyEventArgs e)
 {
    using (DepthFrame depthFrame=e.OpenDepthImageFrame())
    {
        if (depthFrame != null) 
    {
        short[] depthPxelData = new short[depthFrame.PixelDataLength];
        depthFrame.CopyPixelDataTo(bits);
        foreach (var bit in bits)
            Console.Write(bit);
     }
    }
 }
}

main函数里面的应该没问题的,就是Kinect_DepthFrameReady这个函数出了点问题,提示说是要在void的地方输入class等等,还没学C#,现在只能勉强看懂程序,但问题在哪还是有点难过kinect体感切水果


现在问题找到了,是函数定义的空间不对,在外部定义就没有相应的函数类供函数调用了