zoukankan      html  css  js  c++  java
  • 第一个leapmotion的小游戏

    自从看过leapmotion的宣传视频,就被吸引住了。觉得这东西迟早要替代鼠标,然后关注了一年多leapmotion的动态,终于在今年8月份入手了一只。//675大洋啊,心疼~

    一直想写份评测,一直想做个小应用玩玩,然而一直拖着没做。

    搁置了几个月后,终于心血来潮,山寨了个简单的小游戏,然后调用leapmotion来控制。//成就感倍增啊!!!

    第零节——迟到的leapmotion简单评测

    下了几个小游戏,以及试了下谷歌地球。

    谷歌地球可以用leapmotion操作前进后退、转向和缩放等,但是感觉不太适应操作。比如缩放,缩放完成后,手要离开leapmotion检测区域,否则手恢复原状态,缩放又倒回去了。

    小游戏玩法都比较简单,leapmotion个的新操作都用上了不少,比如检测多个手指,手指的方向,转圈和摇动等手势。

    偶尔会有手指位置卡一下或跳一下的现象(可能是检测到脑袋了?)。玩久了胳膊很累。时间长了,leapmotion也比较热。

    实际用起来,没有宣传片中那么炫。期望比较大,有点小失望。不过想起了世界上第一辆火车跟马车比赛,结果火车输了的故事。作为一个新兴事物,我还是很看好它的。

    第一节——小游戏介绍

    原来是一个HTML5的游戏,我觉得操作简单。很适合用leapmotion来操作,就山寨过来了。

    玩法:鼠标移动操作弧形挡板,挡住红色小点,绿色小点补充生命,中间的生命值减到0则游戏结束。

    以下是截图:

    附下载地址:下载

    第二节——小游戏实现思路

    如图。

    检测到输入时(鼠标移动或leapmotion动作),仅仅改变挡板的角度数值(全局变量)。

    用了一个计时器来实时刷新每帧界面。

    刷新前还需要对数值进行一些计算和检测。

    A、根据当前难度,小圆点数量不足时,创建一个新的小圆点,根据当前难度随机生成一些属性值。大小、角度、速度、颜色等。

    B、检测每个显示的小圆点和挡板或核心的碰撞。进行移除小圆点,并计算分数和生命值的操作。

    C、移动小圆点

    计算完成,依次刷新界面元素。

    界面比较简短,都是用的一些集合图形。

    第三节——添加leapmotion的操控

    首先添加引用 LeapCSharp.NET3.5.dll,

    然后把 Leap.dll 和 LeapCSharp.dll 放到生成目录里。

    参考SDK里面的 Sample.cs 文件,做一下修改。

    自定义一个EventArgs类,里面放一些需要获取的参数。比如要输出内容查看,可以加上 public string msg = "";

    然后再定义:public event EventHandler<eventFrame> leapFrame = null;

    把里面所有的类似 SafeWriteLine ("Exited"); 的语句,

    改为这样:if (null != leapFrame) leapFrame(null, new eventFrame("Exited"));

    最后,在主程序里初始化listener后,就可以通过:

    listener.leapFrame += new EventHandler<eventFrame>(listener_leapFrame);

    来获取leapmotion动作了。如果要在界面上输出查看的话,记得invoke一下,否则不同线程无法操作主界面UI。

    我则是获取了一下平均坐标值 Vector avgPos ,用popup控件模拟一个鼠标,然后修改下挡板的角度,就大功告成了!

    -------------------------------- 结尾 -----------------------------------

    写的比较仓促,如果有什么不足的地方,还请大家多多指正。

    如果大家对leapmotion的应用,有什么新的点子及想法,还请多多指教。

    附上源程序:源程序

  • 相关阅读:
    hdu 2222 Keywords Search
    Meet and Greet
    hdu 4673
    hdu 4768
    hdu 4747 Mex
    uva 1513 Movie collection
    uva 12299 RMQ with Shifts
    uva 11732 strcmp() Anyone?
    uva 1401
    hdu 1251 统计难题
  • 原文地址:https://www.cnblogs.com/slowhand/p/3471948.html
Copyright © 2011-2022 走看看