找回密码
 立即注册
查看: 7031|回复: 82

[脚本] 体感控制鼠标

[复制链接]
发表于 2015-8-5 12:04 | 显示全部楼层 |阅读模式
悬赏5U币未解决
本帖最后由 littleqi 于 2015-8-5 13:08 编辑

现在想将一个已有的unity游戏改成体感控制鼠标,看了好多帖子应该就是以下两个思路:(小白初学,基础没扎好就开始碰些东西,学得很不全面)
1. 好像是直接获取真实鼠标控制权
用到一个这个函数:
[DllImport("user32.dll")]
        static extern bool SetCursorPos(int X, int Y);
        [DllImport("user32.dll")]
        static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);
        [Flags]
        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


 楼主| 发表于 2015-9-2 16:03 | 显示全部楼层
用第一种实现了,其实那就是一个接口函数可以直接使用,
不过现在要处理的是边界跳动,和手指抖动的问题
回复

使用道具 举报

发表于 2016-8-3 11:35 | 显示全部楼层

不错 不错 不错
回复

使用道具 举报

发表于 2017-5-28 14:04 | 显示全部楼层
难得一见的好帖
回复

使用道具 举报

发表于 2017-5-28 14:05 | 显示全部楼层
说的非常好
回复

使用道具 举报

发表于 2017-5-28 14:31 | 显示全部楼层
真心顶
回复

使用道具 举报

发表于 2017-5-28 14:31 | 显示全部楼层
好帖就是要顶
回复

使用道具 举报

发表于 2017-5-28 14:40 | 显示全部楼层
很好哦
回复

使用道具 举报

发表于 2017-5-29 11:18 | 显示全部楼层
很不错
回复

使用道具 举报

发表于 2017-5-29 11:26 | 显示全部楼层
顶顶多好
回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 04:58 , Processed in 0.106391 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表