littleqi 发表于 2015-8-5 12:04

体感控制鼠标

本帖最后由 littleqi 于 2015-8-5 13:08 编辑

现在想将一个已有的unity游戏改成体感控制鼠标,看了好多帖子应该就是以下两个思路:(小白初学,基础没扎好就开始碰些东西,学得很不全面)
1. 好像是直接获取真实鼠标控制权
用到一个这个函数:

      static extern bool SetCursorPos(int X, int Y);
      
      static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);
      
      enum MouseEventFlag : uint
      {
            Move = 0x0001,
            LeftDown = 0x0002,
            LeftUp = 0x0004,
            RightDown = 0x0008,
            RightUp = 0x0010,
            MiddleDown = 0x0020,
            MiddleUp = 0x0040,
            XDown = 0x0080,
            XUp = 0x0100,
            Wheel = 0x0800,
            VirtualDesk = 0x4000,
            Absolute = 0x8000
      }
小白表示完全看不懂这是神马语言代码,用在哪里运行,如何修改成自定义.............


2.好像是在游戏中建立一个虚拟鼠标,用以控制
好像会涉及到一些NGUI的东东和射线的神马   (不懂是神马)
好像又要修改游戏中原本的大量鼠标触发事件      (感觉工程量巨大)


针对2,小白我用体感设备可以控制虚拟鼠标在镜头固定的情况下划满全屏,
可是镜头一切换或者旋转的时候就不可以了(因为我是根据手位置直接一一对应物体坐标位置的,当场景变换就不再一一对应了)
点击动作,设想是根据手指向前推进缩小圆圈虚拟鼠标来确认点击,点击后改变虚拟鼠标颜色(想法是有的,技术上完全不行)
但是如何让场景中物体被虚拟的鼠标感应就不知道了(因为那些OnMouseDown函数都没用了)


不知大神们有什么建议,两种方式那种学起来更快些,(可以说两种方式我都是不懂得......也不知道上面说得有没有错误......)
在此求大神的帮助T^T
针对上面的两种方式给个具体的学习流程也好,先认识哪个,再认识哪个。。。。。。。。(8月末要交作业T^T)


littleqi 发表于 2015-9-2 16:03

用第一种实现了,其实那就是一个接口函数可以直接使用,
不过现在要处理的是边界跳动,和手指抖动的问题

1159975227 发表于 2016-8-3 11:35


不错 不错 不错

rioriorio 发表于 2017-5-28 14:04

难得一见的好帖

rioriorio 发表于 2017-5-28 14:05

说的非常好

MichaelAn 发表于 2017-5-28 14:31

真心顶

sherrilldan 发表于 2017-5-28 14:31

好帖就是要顶

Jamesgary 发表于 2017-5-28 14:40

很好哦

waili710 发表于 2017-5-29 11:18

很不错

zhkshcn 发表于 2017-5-29 11:26

顶顶多好
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 体感控制鼠标