|
悬赏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)
|
|