• 第一个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的应用,有什么新的点子及想法,还请多多指教。

    附上源程序:源程序

  • 相关阅读:
    CSS背景background、backgroundposition使用详解
    为何img、input等内联元素可以设置宽、高
    各种Js封装
    CSS布局奇淫技巧之各种居中
    document.compatMode属性
    jquery的each()详细介绍
    jQuery所支持的css样式
    js,jQuery获取html5的data*属性
    PHP中MVC的编程思想浅谈
    php读取xml的神器
  • 原文地址:https://www.cnblogs.com/slowhand/p/3471948.html
Copyright © 2020-2023  润新知